如何以及在哪里从oauth2授权服务器获取访问令牌?

时间:2019-10-07 18:43:38

标签: spring-boot oauth-2.0 jwt

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

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

谢谢

2 个答案:

答案 0 :(得分:1)

<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-framework-bom</artifactId> <version>4.3.9.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> 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

enter image description here

答案 1 :(得分:0)

通常,令牌的接收是通过配置(@autoconfigue)完成的,对身份验证服务器(提供者)进行调用,这是带有身份验证服务器密钥斗篷的配置oauth2的示例,激发ca。 可获得更多信息。

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