[英]Firebase Auth (with Custom Token, for Linkedin) returns a user with no email and no data (only uid)
我正在尝试使用Linkedin和Firebase登录。 我在服务器上生成自定义令牌,有私钥,我使用RS256,这是我的有效负载:
"iss" : service_account_email
"sub" : service_account_email
"aud", "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit"
"iat", Date().timeIntervalSince1970
"exp", Date().timeIntervalSince1970.advanced(by: 3600)
"uid", String.randomString(length:28)
我创建令牌,将其发送回应用程序,然后执行以下操作:
Auth.auth().signIn(withCustomToken: token!, completion: { (user, error) in
我没有收到任何错误,并且有用户返回,因此该令牌有效。 问题在于用户没有任何值(没有电子邮件,没有displayName等)。 唯一的是uid,它是我设置的uid:String.randomString(length:28)
如何检索用户电子邮件和其他信息? 在我的Linkedin帐户中,我有一个显示名,电子邮件,图片等。但是这里什么也没有。
谢谢
您必须手动设置。 Firebase Auth具有用于更新配置文件(照片URL和显示名称)以及电子邮件的API。 您可以将此LinkedIn数据以及自定义令牌发送到您的应用,使用自定义令牌登录,然后更新该登录的自定义令牌用户的个人资料和电子邮件。
顺便说一句,将LinkedIn ID设置为该用户的UID。 不要使用随机字符串。 否则,下次您使用LinkedIn进行登录时,同一用户将映射到另一个用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.