[英]Can't get user email from Plumier social login with Google provider
我像这个例子一样创建了一个带有社交登录的 React 应用程序,但电子邮件字段总是返回null
。
我在谷歌开发者控制台上检查了我的配置,它已经包含了email
范围。
我的身份验证控制器就像示例一样
class AuthController {
@oAuthCallback(new GoogleProvider(process.env.GOOGLE_CLIENT_ID, process.env.GOOGLE_SECRET))
async google(@bind.loginStatus() login: GoogleLoginStatus, state: string, @bind.cookie("csrf:key") secret: string) {
//the login.data.email <--- always null
}
}
我错过了什么吗?
在当前版本1.0.0-beta.11
,谷歌授权端点(对话框端点)的默认scope
参数只是https://www.googleapis.com/auth/userinfo.profile
,我将解决这个问题,并将准备好下一个稳定版本。
对于解决方法,您可以在对话端点上手动返回scope
参数,如下所示
export class DialogsController {
@oAuthDialogEndPoint(new GoogleDialogProvider(<your callback>, <your client id>))
google() {
return { scope: "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile" }
}
}
请注意,该scope
参数是像描述的空格分隔范围在这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.