【问题标题】:Uber API: Specify multiple scopes while requesting or issuing a token returns Invalid Request ParamentersUber API:在请求颁发令牌时指定多个范围返回无效的请求参数
【发布时间】:2014-10-16 21:52:22
【问题描述】:

我知道 OAuth 2.0 规范允许在请求或发出令牌时指定多个范围,但 Uber 不喜欢多个范围。

例如:

1) [无错误]

参数 = {

'response_type': 'code',
'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO',
'scope': 'profile',

}

返回正确的令牌,我可以通过“https://api.uber.com/v1/me”检索用户配置文件

2) [错误]

参数 = {

'response_type': 'code',
'redirect_uri': 'INSERT_ROUTE_TO_STEP_TWO',
'scope': 'profile%20history',

}

Uber 返回“无效请求参数”。我试过'范围':'profile%20history'和'范围':'profile history'。两种情况都返回相同的错误。

我是一名 Android 开发者,使用https://github.com/twotoasters/AndrOAuth 作为测试。

谢谢

【问题讨论】:

    标签: java oauth oauth-2.0


    【解决方案1】:

    范围使用空格分隔符。

    您应该将作用域传递为'scope': 'profile history',并让底层 http 库处理 URI 转换,而不是自己显式地进行。

    【讨论】:

      【解决方案2】:

      我相信你现在已经明白了,但是你使用空格来分隔你的范围参数并且 api 调用逗号。

      【讨论】:

        猜你喜欢
        • 2016-11-03
        • 1970-01-01
        • 2015-06-13
        • 2015-07-21
        • 2016-11-08
        • 2017-03-14
        • 2021-07-10
        • 2013-08-10
        • 1970-01-01
        相关资源
        最近更新 更多