簡體   English   中英

無法通過 Google 提供商從 Plumier 社交登錄獲取用戶電子郵件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM