繁体   English   中英

Firebase Auth(具有自定义令牌,用于Linkedin)返回的用户没有电子邮件,也没有数据(仅uid)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM