Ios 在中使用Apple登录,返回null

Ios 在中使用Apple登录,返回null,ios,react-native,apple-sign-in,Ios,React Native,Apple Sign In,我在React Native中登录Apple时遇到问题。起初,它返回带有值的email和name,但在第二次尝试中,它现在返回null 第一次尝试: "email": c@gmail.com, "fullName": {"familyName": admin, "givenName": admin, "middleName": null, "namePrefix": null,

我在React Native中登录Apple时遇到问题。起初,它返回带有值的email和name,但在第二次尝试中,它现在返回null

第一次尝试:

"email": c@gmail.com, "fullName": {"familyName": admin, "givenName": admin, "middleName": null, "namePrefix": null, "nameSuffix": null, "nickname": null},
第二次尝试:

"email": null, "fullName": {"familyName": null, "givenName": null, "middleName": null, "namePrefix": null, "nameSuffix": null, "nickname": null},

如何防止这种情况发生,以及如何使用注销?谢谢大家!

使用Apple登录,您只能在第一次登录时获得电子邮件/姓名。你有责任储存这些信息。资料来源:

只有当用户首次在应用程序中使用Apple登录时,标识服务器才会返回用户状态。后续尝试不会返回此用户状态的任何信息,例如在发生断开和重新连接后,或从其他设备返回

此外:

在注销方面,您不一定要使用Apple登录。如果您正在设备上存储凭据,则应将其从存储位置清除。此外,如果您正在为另一个服务(如Firebase)使用凭据,您当然可以注销该服务

您没有说明使用什么库进行此操作,但如果是react native apple authentication,您可能希望参考以下关于注销行为的线程:


如果在iOS设备上,用户可以通过设置应用程序取消Apple access的登录。另请参见此相关SO问题:

使用Apple登录,您仅在第一次登录时获得电子邮件/姓名。你有责任储存这些信息。资料来源:

只有当用户首次在应用程序中使用Apple登录时,标识服务器才会返回用户状态。后续尝试不会返回此用户状态的任何信息,例如在发生断开和重新连接后,或从其他设备返回

此外:

在注销方面,您不一定要使用Apple登录。如果您正在设备上存储凭据,则应将其从存储位置清除。此外,如果您正在为另一个服务(如Firebase)使用凭据,您当然可以注销该服务

您没有说明使用什么库进行此操作,但如果是react native apple authentication,您可能希望参考以下关于注销行为的线程:


如果在iOS设备上,用户可以通过设置应用程序取消Apple access的登录。另请参见此相关SO问题:

苹果将仅首次提供登录用户的用户名和电子邮件,因此我们必须将用户数据存储到数据源的web服务器,以从身份验证id获取用户数据。否则,我们必须从apple登录设置中删除日志,才能再次获取用户数据。

apple将仅第一次提供登录用户的用户名和电子邮件,因此我们必须将用户数据存储到数据源的web服务器,以便从auth id获取用户数据。否则,我们必须从apple登录设置中删除日志才能再次获取用户数据。

我明白了。。我认为我的实现是错误的。我正在使用这个库,看到这个
等待appleAuth.performRequest({requestedOperation:AppleAuthRequestOperation.LOGOUT})
但是我猜注销有问题?是的--你可以参考我发布的GitHub的问题链接谢谢!我能问一件事吗。如果用户在登录时单击了隐藏电子邮件,如何通过jwt_解码对电子邮件进行解码?例如这封电子邮件tj25rgr5f2@privaterelay.appleid.comAre你在问是否有可能将私人中继地址转换回他们的真实电子邮件地址?是的,以防用户隐藏他们的电子邮件地址。我明白了。。我认为我的实现是错误的。我正在使用这个库,看到这个
等待appleAuth.performRequest({requestedOperation:AppleAuthRequestOperation.LOGOUT})
但是我猜注销有问题?是的--你可以参考我发布的GitHub的问题链接谢谢!我能问一件事吗。如果用户在登录时单击了隐藏电子邮件,如何通过jwt_解码对电子邮件进行解码?例如这封电子邮件tj25rgr5f2@privaterelay.appleid.comAre你在问是否有可能将私人中继地址转换回他们的真实电子邮件地址?是的,以防用户隐藏他们的电子邮件地址。