【问题标题】:How and where to get access token from oauth2 authorization server?如何以及在何处从 oauth2 授权服务器获取访问令牌?
【发布时间】:2020-02-05 02:16:39
【问题描述】:

我正在尝试使用 oauth2 和 jwt 为我的 API 添加安全性。所以目前我可以使用以下命令并获取访问令牌。 curl客户端:secret@localhost:8080/oauth/token -d grant_type=password -d username=user -d password=password

显然,我不会为每个用户调用它))我的问题是在哪里调用这个命令?我应该创建像“localhost:8080/user/login”这样的新服务并在我的代码中调用这个命令吗? (如果是,如何?)

谢谢

【问题讨论】:

    标签: spring-boot oauth-2.0 jwt


    【解决方案1】:

    grant_type=password 是在RFC 6749(OAuth 2.0 授权框架)中定义的 OAuth 2.0 流程之一。具体来说,在Section 4.3中定义。但是,不建议使用该流程。这意味着您不应该调用该命令。

    在典型情况下,Web 服务实现在Section 4.1 中定义的授权码流。下图说明了流程。详情请参阅Diagrams And Movies Of All The OAuth 2.0 Flows

    【讨论】:

    • 你的文章很适合理解整个流程。谢谢你。但是,我想要示例 Java 代码来调用我的身份验证服务器并获取令牌。
    【解决方案2】:

    通常,令牌的接收是通过配置(@autoconfigue)完成的,调用是对身份验证服务器(提供者)进行的,这里是一个配置 oauth2 的示例,带有身份验证服务器 keycloak,灵感来自 ca。 可获取更多信息。

    https://github.com/bcarun/spring-oauth2-keycloak-connector

    【讨论】:

      猜你喜欢
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 2018-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-27
      相关资源
      最近更新 更多