【问题标题】:Google OAuth 2.0 inconsistent token type?Google OAuth 2.0 令牌类型不一致?
【发布时间】:2013-04-09 00:41:21
【问题描述】:

Google 在其自己的OAuth 2.0 specs 中按照OAuth 2.0 draft 规定,授权标头 应该是:

Authorization: Bearer {access_token}

确实,它可以与 G+ API 一起使用。

但使用 Google 日历 API,您需要将 Bearer 更改为 OAuth

Authorization: OAuth {access_token}

你可以在Google OAuth 2.0 Playground自己试试。

我在敲击键盘几次后发现了这一点。

我在任何地方都找不到关于 OAuth 令牌类型的任何信息。 这是 Google 无视自己的准则和标准的一个例子,还是我遗漏了什么?

【问题讨论】:

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


    【解决方案1】:

    由于遗留原因,支持“授权:OAuth”格式,早期的 OAuth 2 草案使用此架构。

    在您的代码中,您应该使用“Authorization: Bearer”。如果这不起作用,请让我确切知道您尝试使用的 API(确切的 URL 和参数)。

    例如,以下内容适用于 Bearer 和 OAuth: curl --header "授权:承载 XXX" "https://www.googleapis.com/calendar/v3/users/me/calendarList"

    【讨论】:

    • 这个https://www.googleapis.com/calendar/v3/users/me/calendarList 不起作用。我再次尝试了它,它现在可以与Bearer XXX 一起使用。但我绝对确定这不是我的错误,因为我尝试了两个具有相同设置的 URL:https://gdata.youtube.com/feeds/api/users/default/playlists?alt=json 和前者。虽然 youtube URLBearer XXX 一起使用,但 calendar URL 却没有。当我将标题更改为OAuth XXX 时,两者都有效。我打电话给你看到他们加上Authorization: Bearer XXX标题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 2017-05-16
    • 2018-10-01
    • 2014-12-24
    相关资源
    最近更新 更多