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