I'm developing a website that requires a 2FA. We already permit to users to set it by scanning a QR Code shown in our configuration page.
My question is a bit more tricky. How can I permit user to open the app if he opens the page from mobile browser, ie. navigating from the phone with the Authenticator app installed?
I already have the logic to understand if the user is on mobile or not, but I don't find any solution that can replace the QRCode since the user cannot use the mobile camera in that case (he is using the phone to net on my website!).
I was searching the possibility to create a link that is recognised by an authenticator app (Google Authenticator or Microsoft Authenticator) but I didn't find a solution. Any idea?
After some research and trial, I found the link I was searching for.
In Google Authenticator (or any other app), the account are listed in the form:
Amazon(my#amazon.com)
123455
Google(me#gmail.com)
455234
Issuer(email)
554645
AnotherCode
142414
In order to generate a new entry without scanning the QRCode, a link in the form of:
otpauth://totp/dev#it.com?secret=123abc&issuer=StackOverflow
has to be opened. For instance, the link above results in the following entry:
StackOverflow(dev#it.com)
The link is opened by the phone using the installed Authenticator app.
Related
Is there any way to open telegram application from a website being in a mobile? I know if you use telegram:// you can open telegram app, but how can I open telegram and create a new conversation with a given number? i know it is possible by whatsapp like this:
this is the link https://api.whatsapp.com/send?phone=359883378007,
when the link loads it beign redirected to this link
whatsapp://send/?phone=359883378007
You can use this link to open conversation with telegram username:
https://telegram.me/telegramUsername
telegramUsername:
username without #
To share with Telegram.me, you have the following URL options...
https://t.me/share/url?url={url}&text={text}
https://telegram.me/share/url?url={url}&text={text}
tg://msg_url?url={url}&text={text}
Take a look at the official API source: Core.Telegram.org: Widgets -> Sharing Button. They suggest the t.me format. It seems like telegramUsername format, or any format indicating a user or a phone number, is not supported according to the documentation.
You may share:
url : The URL you want to share.
text : Text to accompany the URL you want to share.
If you are interested in watching a project that keeps track of these URLs, then check us out!: https://github.com/bradvin/social-share-urls#telegramme
2022 Updates
YOU CAN'T DO THAT.
But, you can do the same with username -
https://telegram.me/Telegram_Username_Here
For updating the information -
telegram:// no longer works on the latest chrome browser of pc version, instead of this, use tg:// which works great on all devices.
I have 2 frontend interfaces for my firebase project (both housed in the same firebase app in the backend). One is web and one is for iOS.
I'm trying to create passwordless sign-in functionality for the iOS app and have gone through all setup guides regarding setting up dynamic links, custom domains etc.
I have gotten to the point where both the web and iOS apps can both send the email successfully, however the root domain changes between the emails sent from each platform. An example is below:
Web App: Sends login email via firebase.auth().sendSignInLinkToEmail and the resulting root domain in the email is https://app.domainname.com (this is correct and is what is set up as a whitelisted domain/dynamic link domain in firebase)
iOS App: Using the same function, the resulting root domain is https://domainname.com (incorrect). This results in the link going to the non-firebase, generic website and breaking the flow.
If I add the app subdomain back to the link generated by the iOS email, the dynamic link does then work, so the issue seems to be isolated to this root domain change specifically.
Upon further investigation, the issue seems to be related to the action code settings.
When the iOS.bundleId property is set, or handleCodeInApp is true, the incorrect root domain is used. This is true for either the web app or the iOS app.
I have done a project find on domainname.com in both projects (my iOS app is an ejected expo app so the search included Xcode files for this one) and can't find any instance of the subdomain being missing in either codebase (or the backend codebase for that matter) and am therefore at a loss.
I've looked throughout my firebase settings and can't find any instance of the incorrect one appearing, but am unaware of a search functionality on the platform to be certain. The Action URL (%LINK%) setting in Authentication->Templates appears to be the correct URL.
I am hoping to get to the point where irrespective of the action code settings, the same, correct root domain is used. I assume this is a configuration issue but am at a total loss about how to resolve it, so any help would be appreciated.
For reference, the action code settings in use are below:
var actionCodeSettings = {
url: 'https://app.domainname.com',
iOS: {
bundleId: 'com.domainname.app'
},
handleCodeInApp: true
}
Thanks!
In case anyone finds this in the future, it turned out for me that the issue was due to a combination of an undocumented lack of support for custom domains in dynamic links in react-native-firebase, alongside the fact that the library will only send the email links using the first selected domain in your Firebase Dynamic Links settings.
At the time of writing, the solution was to simply delete all other domains from my Dynamic Links settings, leaving only PROJECTNAME.page.link, so that this was the one that got used by the library. From there everything worked as expected.
Im building an app for iOS and Android and need to open urls in the app on mobile and in the browser on desktop.
All links should open in the app if possible, so I cant generate one link for each possible url.
Can I do this in Firebase or do I have to create links in advance?
I'm not sure this question is related specifically to Firebase, or a general one.
I can try answering about the general case:
For opening in App:
In order to use Universal Links in iOS and AppLinks in Android, you'll need your click server to host Apple's AASA file or Android's asset file. This means that you'll need to serve that file for the operating system.
For opening in browser on desktop:
You'll need your click server to be able to detect desktop user agent and redirect you to store.
I didn't understand your question about: All links should open in the app if possible, so I cant generate one link for each possible url. Actually one link can fit all use cases, but you'll need to develop that capability in your own click server.
Although I followed the below guide on my app (up to 7th step because I'm not interested in personal contents or on-device indexing):
Firebase appIndexing tutorial
And connected my app to firebase consol.
Also verified steps against "Get Started" guide:
Firebase AppIndex for Android Get Start guide
And followed steps included in Google guide to create deep link in app (except for reading data from coming intent section) as below link:
Google guide for creating deep link to app contents
I also verified the intent code in the manifest using adb command and got it successfully executed for specified url data (scheme, host, and pathPrefix) with added android:autoVerify="true".
The only thing I couldn't accomplish is to declare the "Digital Asset Links" file by uploading it to my website on Weebly, because I couldn't find a way through my search to do so.
Now, after I added the android app into my webmaster as a property and verified the ownership of my website on Weebly then associated the website to the app in the webmaster, I got the following message in the "Crawl status":
"We did not find any pages to index in your app
Your app pages must be found and indexed before Google can start showing them in search results. You can tell Google which pages to index in a sitemap or in web page markup, or if your website and app have identical page organization, Google can infer your app pages from their corresponding web pages."
I'm really stuck here, and don't know what else to do to index my app contents keywords into Google Play for users to find my app when they search these keywords.
Is there any steps I missed in order to have my app indexed? or is there any other method to make my app on Google Play found when searching for specific keywords (that's all what I want, and I created the website specially for this task)?
Thanks in advance for your help.
App Indexing is for finding app pages in Google search, not in Google Play.
Unfortunately, you do need to associate the Digital Asset file, but this is just a text file in a known location: you can see the details in https://developer.android.com/training/app-links/verify-site-associations
In my endeavour to gain use of the Youtube API I am required to follow the procedure defined here.
In this link there exists a Prerequisites section that states:
Register your application with Google so that it can submit API
requests.
This takes me here which is a page Titled: "Registering your Application". This page contains instructions stating:
To register a new application, do the following:
Enter the Google Cloud Console https: //cloud.google.com/console [hit my link limit LOL]
Select a project, or create a new one.
In the sidebar on the left, select APIs & auth. In the list of APIs, make sure the status is ON for the YouTube Data API v3.
In the sidebar on the left, select Registered apps.
I have done all of the above. I have also clicked on the project taking me to another page. I am however, unable to register the application.
My question to you is "Where do I find the "Registered apps" because it's not in the sidebar on the left.
Google even provide a video on the instructional page stepping you through it. Unfortunately the video appears to be for an older site.
I am running Firefox 25.0.1. and it doesn't work for me so any guidance would be appreciated.
Instead of Registered Apps, in new version you'll go Credentials under API's and Auth and create your keys there.
I tried everything to help you out but i couldn't find "Registered Apps" too. Have you ever tried "Credentials" ? I think it works for the same way.
They don't care much about updates i guess. That's why they did not renew the instructions and the video..