React-native-apple-authentication: fullName and email become null after migrated from 0.2.0

Created on 8 Dec 2020  路  5Comments  路  Source: invertase/react-native-apple-authentication

I've migrated from version 0.2.0 to 2.1.0.
I tested my Apple ID which permitted email and full name, but the response does not include those.
I confirmed those permissions with my real device.
When tapped AppleButton, the device only shows Touch ID dialog and there are no confirmations about name and email.

Environment
React Native 0.63.3
iOS 14.2
react-native-apple-authentication 2.1.0

Code
````
const appleAuthRequestResponse = await appleAuth.performRequest({
requestedOperation: appleAuth.Operation.LOGIN,
requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME],
});

const credentialState = await appleAuth.getCredentialStateForUser(appleAuthRequestResponse.user)

if (credentialState === appleAuth.State.AUTHORIZED) {
console.log(appleAuthRequestResponse)
}
````

appleAuthRequestResponse
{authorizedScopes: Array(0), identityToken: "eyJaWbm1MIi.....", authorizationCode: "cbd5f3124d3......", realUserStatus: 1, nonce: "iltF....", fullName: {namePrefix: null, givenName: null, nameSuffix: null, nickname: null, familyName: null, middleName: null}, email: null, state: null, user: "000a8f28945b1...."}

Most helpful comment

Thanks for your comment!
I've confirmed that the response includes full name and email after a full reset.

All 5 comments

Hi there!
That's the way the Apple sign in works
If you want a full reset, you have to actually go:

  • device's preferences
  • tap in to your user settings
  • tap into password & security
  • tap in to apps using apple id
  • tap in to the app in question
  • tap stop using apple id

Then you will be re-prompted.

Thanks for your comment!
I've confirmed that the response includes full name and email after a full reset.

Thanks.
After a complete user info reset of the DEVICE , I can get the user information back after apple login.

@mikehardy does this means we can not use touch id ? because the reprompt i am getting the email and fullname but on touch id it still gives null.

Any solutions?

It is one of the most simple react native modules. Read the ios code. Read the docs for the API we call

If you see something wrong let us know

I can't analyze every hypothetical though, we don't control the API, I would not be able to make authoritative statements anyway

Was this page helpful?
0 / 5 - 0 ratings