【问题标题】:Google exchange token does not return id_token谷歌交换令牌不返回 id_token
【发布时间】:2016-12-10 11:08:41
【问题描述】:

我正在调用 google /oauth2/v4/token 并提出请求,格式如下:

code: 4/zxxxxxxxxxxx_Kdzxxxxxxxxn5hMzQkOoIdzLtys
response_type: id_token
scope: openid
client_id: xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxx.apps.googleusercontent.com
client_secret: xxxxxxxxxxxxxxxxxxxxxxxx
grant_type: authorization_code

响应是这样的:

{
  "access_token": "ya29.Ci81AzruWyxhmn8WKadpzPEmhCDPmQPSxHZogyd_ZIT0g-VMgzY5PZFk4i-CMe9lUw",
  "token_type": "Bearer",
  "expires_in": 3583
}

但是,我还需要 id_token 添加 scoperesponse_type 并不能解决问题。我尝试了所有不同的范围和响应类型,但它们都不起作用。

【问题讨论】:

    标签: javascript oauth-2.0 google-oauth access-token


    【解决方案1】:

    openid 范围不够。例如,您应该添加范围 email。 这些范围必须在授权重定向期间设置。在请求访问令牌时,它们不是强制性的。

    此外,当您向服务器发送请求时,不需要response_type 参数。

    【讨论】:

    • 但是如果我们不使用重定向呢?
    • 要获取代码,您必须使用使用重定向的code 响应类型。我也许 authorization_code 授权类型不是你需要的。
    猜你喜欢
    • 1970-01-01
    • 2017-03-08
    • 2016-06-26
    • 2014-07-23
    • 2014-03-31
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多