首次使用“使用Apple登录”登录时,它将返回值realUserStatus
作为iOS客户端中ASAuthorizationAppleIDCredential
的一部分。此值表明Apple是否确信该用户是真实用户(例如,它是脚本)
我的问题是如何在后端身份验证系统中验证realUserStatus
的值?
因为realUserStatus返回到iOS客户端,并且客户端应该告诉我的服务器它是否是bot!我怎么知道它不只是一个脚本,而是告诉服务器它是真实的?
答案 0 :(得分:1)
我刚刚在WWDC在线实验室与苹果工程师打完了电话。
因此,从iOS 14开始,realUserIndicator包含在身份令牌中,并且可以通过服务器进行验证。
对于iOS 13,他们没有解决方案。
答案 1 :(得分:-1)
此标志用作基本的第一验证,供前端使用。仅当用户首次在您的应用程序中使用“使用Apple登录”时,标识服务器才会返回此值。
如果要在后端验证用户,则应使用用户身份令牌(JWT)。当用户登录时,您可以从Apple的服务器上获取它(在此处阅读:https://developer.apple.com/documentation/signinwithapplerestapi/authenticating_users_with_sign_in_with_apple)。
如果要在即将到来的会话上验证用户,请以现有用户身份(无需每次都登录)来开发自己的系统,以创建,保存和验证令牌。另一种选择是使用Firebase身份验证框架,该框架支持Apple登录。
答案 2 :(得分:-1)
如果您将获取的用户信息发送到应用服务器(您的后端),则可以使用身份标记和其他服务来验证用户。
Apple文件说: 您的应用收到用户信息后,您可以在服务器上验证其关联的身份令牌,以确认该令牌未过期,并确保该令牌没有被篡改或重播到您的应用中。有关获取身份令牌的信息,请参阅使用Apple登录验证用户。