将OAuth添加到rest api进行测试

时间:2017-09-05 20:36:52

标签: rest api oauth-2.0 uber-api web-api-testing

因此,我正在测试优步提供的REST API,以便将uber服务应用到我的应用程序中,同时向其中一个api发送请求,它会向我发送响应按摩:

{
    "message": "No authentication provided.",
    "code": "unauthorized"
} 

而我正在执行doc

中提供的相同请求

我创建的请求: 头:

Authorization: Bearer <TOKEN>
Accept-Language: en_US
Content-Type: application/json

到网址https://api.uber.com/v1.2/me

哪里出错,我还需要添加什么?

1 个答案:

答案 0 :(得分:0)

为了能够使用任何优步API端点,您需要授权您的用户并获取access_token。从您的示例代码中我们可以看到您没有按照Uber文档中的说明进行操作。因此,为了确保您遵循完整的身份验证过程,请参阅以下信息:

授权代码流程是一个两步授权流程。第一步是让用户授权您的应用,第二步是从Uber请求OAuth 2.0访问令牌。如果您想代表用户执行操作或访问其信息,则此过程是必需的。 重定向网址&#34; YOUR_REDIRECT_URI&#34;是资源所有者授权后我们将重定向到的URL。 URI的基础必须与注册应用程序期间使用的redirect_uri相匹配。如果未提供,则默认为应用程序的仪表板中提供的第一个重定向URI

&#34; YOUR_LIST_OF_SCOPES&#34;是您在授权选项卡中请求的范围列表。根据您要实现的目标以及您要进行的API调用 - 您需要在两步授权过程中使用特定范围。您可以将多个范围用作逗号分隔列表。

请按照身份验证指南的步骤进行操作。

简而言之,您需要:

•发送用户授权网址。它首先将用户重定向到授权端点:https://login.uber.com/oauth/v2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REDIRECT_URI&scope=YOUR_LIST_OF_SCOPES

•使用授权码接收重定向。在用户批准范围后,用户将被重定向到redirect_uri,并使用auth代码发送到/ v2 / token端点以接收访问令牌。

•致电:&#39; https://login.uber.com/oauth/v2/token&#39;。此调用将返回access_token和refresh_token。

•获得access_token后,您可以在API的终端中使用它