【问题标题】:Handling the OAuth2 Client Credentials flow处理 OAuth2 客户端凭据流
【发布时间】:2016-02-23 22:28:26
【问题描述】:

我无法在客户端实现客户端凭据流。假设客户端在未经授权的情况下请求 API 中的安全端点。 API 将以 401 响应,仅此而已?据我了解,客户端凭据流程不需要任何用户交互,对吗?具体来说,客户端在访问访问受保护资源的任何页面之前不需要单击“授权客户端”按钮?

【问题讨论】:

    标签: oauth-2.0


    【解决方案1】:

    您说得对,不需要用户交互。但是,您必须调用 /token 端点(使用您的凭据)以取回稍后将在 API 请求的 Authorization 标头中使用的令牌。

    【讨论】:

    • 困扰我的事情是 1) 是什么启动了对 /token 端点的调用? 2)当从令牌端点返回时,用户必须再次导航到请求的页面或者我只是没有正确考虑这一点?
    • 1) 客户端应用程序向令牌端点发出 http 请求。响应将包含令牌。 2)用户不需要在任何地方导航。客户端凭据流用于“客户端”(即应用程序......而不是用户)。通过客户端凭据流,系统用户之间无法区分令牌。相同的令牌将用于系统上的任意数量的用户,因为它是被授权的“客户端”......而不是用户。
    • 我明白了,让我试着更好地解释一下。我的客户是一个网页。主页(“/”)根本不与 API 交互。因此不使用需要令牌的请求。所以还没有获取令牌。然后,用户导航到使用 API 获取所有产品的不同页面(“/products”)。对 API 的请求将失败,因为我还没有令牌,只返回带有错误 (401) 的 JSON 响应。这需要以某种方式处理,但我在这里不知所措
    • 您需要获取令牌。一种策略可能是,如果您收到 401,则调用令牌端点以获取令牌,然后使用您返回的令牌再次调用 API 端点
    猜你喜欢
    • 2021-12-22
    • 2012-12-17
    • 2023-04-09
    • 2020-12-25
    • 1970-01-01
    • 2022-08-06
    • 1970-01-01
    • 2016-09-28
    • 2022-01-26
    相关资源
    最近更新 更多