将 OAuth 添加到 rest api 进行测试

Adding OAuth to a rest api for testing

所以我正在测试优步提供的 REST API,以便在我的应用程序中实施优步服务,同时向他们的其中一个 api 发送请求,它会向我发送响应信息:

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

虽然我正在执行他们在 doc

中给出的相同请求

我正在创建的请求: headers:

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

到urlhttps://api.uber.com/v1.2/me

我哪里出错了,我还需要补充什么吗?

为了能够使用任何 Uber API 端点,您需要授权您的用户并获得 access_token。从您的示例代码中我们可以看出您没有遵循 Uber 文档中的说明。因此,为确保您遵循应有的完整身份验证过程,请查找以下信息:

授权代码流程是一个两步授权过程。第一步是让用户授权您的应用程序,第二步是从 Uber 请求 OAuth 2.0 访问令牌。如果您想代表用户采取行动或访问他们的信息,则此过程是强制性的。 重定向 URL "YOUR_REDIRECT_URI" 是 URL 我们将在资源所有者授权后重定向回。 URI 的基础必须与您的应用程序注册期间使用的 redirect_uri 相匹配。如果提供 none,则默认为应用程序仪表板中提供的第一个重定向 URI

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

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

简而言之,您需要:

• 发送用户授权 url。它首先将用户重定向到授权端点: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,并带有一个授权码,您可以 post 到 /v2/token 端点以接收访问令牌。

• 拨打 POST 电话:“https://login.uber.com/oauth/v2/token”。此调用将 return access_token 和 refresh_token。

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