Delete duplicate fingerprint in OAuth - oauth-2.0

Due to some error I deleted my previous project from firebase and created a new one with same SHA-1 but it shows SHA-1 is already registered in OAuth 2.0

According to Firebase Support, a deleted project usually takes 30 days before a complete wipe out from their system. You may restore the deleted project with the conflicting SHA-1 and delete the OAuth client manually.

Related

How to migrate old app to Google Play app signing

I have an updated version of an old Xamarin Android app I want to release. I previously set up the signing key which I used to sign the app previously. Apparently, a few months ago I updated to the Google app signing mechanism, but apparently I still need to sign the app myself before uploading. But if I use my old script mechanism, Google tells me "You uploaded an APK that is not signed with the upload certificate." I can't figure out how to set up the signing with whatever that upload certificate is. Neither the Google nor Xamarin docs are comprehensible to me. I downloaded "upload_cert.der" and "deployment_cert.der" files from Google, but have no idea what to do with them. I tried using Visual Studio to publish, but it says to create Oauth client and enter the client ID and secret, pointing to the Google Play Console, but I can't figure out how to do that. It would be really nice if there were some docs for people in my situation.
Somewhere along the way I must have regenerated the keystore, which no longer matched the key Google has. I found a backup of the keystore, restored it, and now it works.

Calling verifyPhoneNumber on my firebase ios app throws "internal-error"

I use authentication by phone number in my flutter app. While it is working fine on Android I'm getting an error message on ios:
_firebaseAuth.verifyPhoneNumber(
phoneNumber: phoneNumber,
timeout: ...
verificationCompleted: ...
verificationFailed: verificationFailed,
codeSent: codeSent
...
static final PhoneVerificationFailed verificationFailed =
(FirebaseAuthException authException) {
Log.e(authException.message);
Log.e(authException.code);
}
Code and message both only says it is an internal error without any details.
Everything worked find before I moved the app to a new Appel developer account. This means the team id has changed.
I've also changed the team id here:
I've downloaded the google.plist again and put it into the runner directory.
The google cloud platform also shows the correct team id:
The same team id is shown in xcode in "Signing & Capabilities" -> Signing Certificate.
Changing the team id also causes loosing access to the keychain:
ITMS-90076: Potential Loss of Keychain Access - The previous version
of software has an application-identifier value of
['MKYCXH32H9.com.sykori.framr2'] and the new version of software being
submitted has an application-identifier of
['75GNKYT7HC.com.sykori.framr2']. This will result in a loss of
keychain access.
But I think the only means that data from previous versions is not accessible anyomore.
Since you said the issue appeared after you switched developer accounts, it's safe to assume the issue is generated by a config error.
Firebase Phone Auth for iOS docs specify a couple more steps than what you described above, namely:
Upload your APNs authentication key to Firebase. If you changed developer accounts APN auth keys also changed.
To enable Firebase SDK to use reCAPTCHA you need to add the REVERSED_CLIENT_ID to your URL Schemes box on the configuration page.
These two steps I think will solve the issue, but just to be sure you could go through all the steps from the docs to make sure nothing else is missing.

Can't able to Access Keychain After revoke distribution certificate

I am working in project which is already in Appstore submitted by different developer. Now I am trying to submit updated version of the app with different version and build number. I can't able to access previously stored keychain values.
Here is the steps I did
Revoked the old Distribution certificate created by another person and created a new one with my machine.
Regenerated Provisioning Profile which is used by previous developers
Code signed and submitted to App Store
Downloading old build from App Store
Installing the updated build from test flight
Now I can't able to access keychain values already stored.
Now what can I do to retrieve the old keychain value? I have also checked the team ID for Keychain group access it is same as old one. Is there any way I can retrieve the old keychain values.
Here is brief answer which may help you to resolve your issue :
keychain group which is tied your team identifier. So, basically,
access to keychain after app updates depends on distribution
certificate you use, not on the provisioning profile
So if you are saying you revoke all old certificate and the one with the new certificate ( that you created ) that access to keychain groups will be lost for this version.
Finally I got a solution from apple guides
Note: In iOS, Keychain rights depend on the provisioning profile used
to sign your application. Be sure to consistently use the same
provisioning profile across different versions of your application.
https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html

ios push notification certificates with Back4App

I need to build an update for an iOS application that uses Back4App as backend and we have some push notifications integrated.
The previous version of the app wasn't created by me so I don't have the private key of the previous Push Notification Certificate and I had to recreate them both for Development and Production.
So my questions are:
If I upload the new Push Notification Certificates then will the old versions of the app continue working?
This seems to be a bug in the Back4App Dashboard, because I have added the new certificates, but I can't remove the older ones.
If I try to remove a certificate with the X button the I receive a Forbidden (403) error in the error console of the browser and the removed certificates keeps re-appearing when I refresh the window of the browser. (see attached screenshot)
Considering you are generating the new certificate with a new bundle id, you should keep both certificates uploaded there.
Parse stores in the Installation table the bundle id that the client is using and use the correct certificate for each of them.
Therefore existing users will keep using old certificates and new users (also the existing users that have already updated their apps) will start using the news ones.
Regarding the bug, could you please report it in the web-site chat together with your app id?

IOS application update - lost private key

I have an IOS application for a client and I need to push it as an update to the existing app. I already received the credentials of the itunesconnect account which includes the application however here is my problem.
I don't have the private key which was used to publish the initial application which according to the below could cause a problem.
The private key is locally stored on the Mac device (in this case, the old vendor).
In the wrong hands, someone might attempt to distribute an app that contains malicious code.
Not only could that cause the app to be rejected, it could also mean our developer credentials could be revoked by Apple.
Is there a way to retrieve the old key?
In the case where I sign the application with another certificate, will still go as an update to the existing one?
Your fears are unfounded.
In the wrong hands, someone might attempt to distribute an app that
contains malicious code
Don't forget that they would also need your team agent's credential to submit the app. Even if they have the private key, they wouldn't be able to submit anything.
Is there a way to retrieve the old key?
No need to retrieve the old key, just revoke it from the provisioning portal and generate a new one.
In the case where I sign the application with another certificate,
will still go as an update to the existing one?
App updates are based upon bundle ID and not the code signing certificate. App submitted with the new certificate would still be considered an update, if the bundle ID is same.
Create new Distribution certificates and upload latest build with new version, this will go as update to users.

Resources