Our app is using both the Apple id provider and the password provider when presenting the ASAuthorizationController:
let authorizationRequests: [ASAuthorizationRequest] = [
ASAuthorizationAppleIDProvider().createRequest(),
ASAuthorizationPasswordProvider().createRequest()
]If we perform the following steps:
1. Signup/login to our app via Apple id
2. Go to Settings.app -> Apple ID -> Password & Security -> Apps Using Your Apple ID -> Our App, and then tap "Stop Using Apple ID"
3. Go back to our app, sign out, and try to login with Apple again
The option to login with an Apple id is never presented again IF the password provider has options (eg: other emails/passwords that may have been used on the service). At this point, the user can effectively never sign in with their Apple ID ever again. The only way that I've found to get the Apple ID option to return is to remove the password provider request from the authorization requests.
Is this a bug? We'd ideally like to keep the password provider as an option for our users, but doing so would mean that revoking access to the Apple ID via Settings would be a permanent action... which would also mean that anyone using email forwarding would have no way to ever access their account ever again after revoking access.