Firebase authentication problem with Apple sign in - flutter

I'm using firebase authentication in a flutter app.
I've set up apple authentication and I'm building for both web and for ios.
In the apple developer console, I have an app id (com.crossology.ios) and an associated services id (com.crossology.auth)
In the firebase console, if I set authentication > apple > services id to "com.crossology.ios", authentication works in my flutter app.
If I set it to "com.crossology.auth", authentication works on my flutter web interface.
I don't see a way to configure apple authentication to work for both web and app at the same time.

Related

Firebase Identity Platform Release Version Authentication Problem

I wasn't having such a problem when using the old Firebase authentication methods. After accepting Identity Platform, my gmail and phone auth systems are not working in "android release" mode of my app (downloaded play store app). I'm currently search of the reason for this. I also put the sha keys to Firebase from Google Console App Signing and i also debugging authentication code base with test phone numbers and test gmails. There is no problem in code base or sha keys(my opinion). Now I am verifying oauth in Google Cloud Console. When this verification is verified, will my gmail and phone auths in android release mode be opened? And how long does this verification process take? Ios gmail and phone auth methods work well in the apple store or emulator. Also when i look at Google Cloud Console there are some errors on Identity Toolkit Api and Token Service Api.[enter image description here](https://i.stack.imgur.com/BeF3a.png)
I think the cause of the problem is identity platform integration and this validation for oauth. For what other reason do you think the firebase authentication systems (gmail and phone) works on iOS but not on Android?

Same google clientId and clientSecret for multiple devices (andorid, ios and web)

I am developing an application using Supabase, Flutter and Google OAuth and I would like to know if it is possible to have a single clientId and clientSecret for each device type (ios, android and web) so that I don't have to implement a different authentication workflow for each device.
I have tried looking around the Google Console and see if it is possible to create a single authentication API for multiple devices. I also tried searching online.
There are sevral types of Oauth2 clients.
installed app client (for applications run on the machine)
web app clients (for applications run on web servers)
Android app clients (for applications run on android devices)
IOS app clients (for applications run on Iosdevices)
The authorization method for these three types is different, the code used to authorize them is also different. They can not be mixed.
Android app requires SHA-1 certificate fingerprint
Ios app requires App Store ID
web app requires a redirect uri
So the answer is no you can not create one type of credential to work with Android, Ios and web, you need three different credential types.
a bit of sdk magic
If a user authorizes your web app, they may not need to authorize your android and Ios apps as long as the credentials are all part of the same project on Google developer console.
Last I checked this is not true the other way around, if a user authorizes android or ios first and then tries web they will need to authorize again.
My guess is this is something baked into the android and ios sdk on googles side that is not part of the respective client libraries for web. Either that or its something in the authorization code grant that isn't in the mobile code grant type for Oauth2 I have never bothered to dig to far into it.

Swift iOS Firebase Google authentication with Google Console OAuth 2.0 Client IDs

How can we configure the custom created OAuth 2.0 Client IDs in the google console to our firebase project?
Our Firebase project is implementing google authentication in an iOS app.
Everything works properly:
added URL schemes
added .plist provided by firebase
In order to register our app through google we have to implement custom
OAuth 2.0 Client IDs
Problem:
How can we properly use the custom (google console) OAuth 2.0 Client ID in the firebase project? Do I need to use the new plist provided in the google console?

Do I need a Firebase project to use Firebase App Check?

I want to secure my own custom API for my Flutter app.
I came across Firebase App Check, but I do not want to use Firebase.
Can I use Firebase App Check without a Firebase project? It seems to like there is not Firebase involved. Only other app attestation services. https://firebase.google.com/docs/app-check/flutter/custom-resource
Do I need a Firebase project to use Firebase App Check?
Yes.
It seems to like there is not Firebase involved. Only other app attestation services.
Firebase is not an attestation provider but it uses others providers and it's a bit easier to integrate those providers using Firebase SDK than directly using them. e.g reCAPTCHA v3 for web apps.
Once you integrate the Firebase App Check SDK in your Flutter app, you'll have to get the App Check token using getToken() and add it in your API request. Then you just need to verify the token in your backend using the Firebase Admin SDK.

Connecting to Twitter using xAuth on iPhone and/or OAuth on Web?

I am building a Web site and iPhone app right now. My site and app requires registration.
I have received xAuth permission from Twitter and was going to use this for the iPhone app so that users can connect their Twitter account.
Once they connect their Twitter account, if they log in to the Web, is it possible to make it so their account is still connected?
On the other hand, I am using OAuth verification on the Web. If someone connects their Twitter account on the Web using OAuth, will they still be connected if logging onto the iPhone app?
So basically, I need to make:
User connects account on iPhone app (xAuth) -> User logs in to Web site and is still connected and can post to Twitter from both
User connects on Web (OAuth) -> User logs in to iPhone app and is still connected and can post to Twitter from both
You can do this --- basically once you do the OAuth based login it generate unique Token, so after this data reading is done using Token.
Once you get Token (it can be in Phone/web) use this details between each other so that both of your application can do the rest of operation for the same user without further login.