【问题标题】:How to get user info ussing google access token如何使用谷歌访问令牌获取用户信息
【发布时间】:2021-12-23 22:34:46
【问题描述】:

您好,我正在开发 google oauth2 登录,但我不知道如何使用 access 令牌或 id 令牌使用此 url 获取用户信息

    "sub": "100366573866312827626",
    "picture": "https://lh3.googleusercontent.com/a/default-user=s96-c"
}
{
    "iss": "https://accounts.google.com",
    "azp": "375890336523-u4rpach5688ltoc0v4mof1r7j70gem95.apps.googleusercontent.com",
    "aud": "375890336523-u4rpach5688ltoc0v4mof1r7j70gem95.apps.googleusercontent.com",
    "sub": "100366573866312827626",
    "at_hash": "htkn2tQqV4Ff4EmrtPDh9w",
    "iat": "1636631006",
    "exp": "1636634606",
    "alg": "RS256",
    "kid": "27c72619d0935a290c41c3f010167138685f7e53",
    "typ": "JWT"
}

但在这两个 json 中都没有任何用户信息,如用户名或电子邮件

感谢您的宝贵时间,抱歉我的英语不是我的母语

【问题讨论】:

    标签: json rest oauth-2.0 google-oauth access-token


    【解决方案1】:

    确保您在授权用户时请求了配置文件范围。

    使用您的用户授权您的应用程序时返回的访问令牌。您可以通过调用People.get 方法获取用户个人资料信息

    curl \
      'https://people.googleapis.com/v1/people/me?key=[YOUR_API_KEY]' \
      --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
      --header 'Accept: application/json' \
      --compressed
    

    用户信息端点会给你一点信息,但不如使用用户信息端点那么多。

    Google 并不总是在 id 令牌中返回用户声明,所以我不会尝试依赖它。

    【讨论】:

    • 您好,我对 oauth 了解不多,我如何获得配置文件范围,以及您所说的 YOUR_API_KEY 是指我的 client_id 吗?
    • 现在我得到了全名和 emial 但在 2 个请求中,将范围配置文件和 emal 分别放入,有可能仅在 1 个请求中获取所有信息?
    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 2013-07-20
    • 2017-11-13
    • 1970-01-01
    • 2017-04-23
    • 2017-09-16
    • 1970-01-01
    • 2021-03-27
    相关资源
    最近更新 更多