![](/img/trans.png)
[英]spring-boot-starter-oauth2-resource-server vs spring-cloud-starter-oauth2 which to use?
[英]Spring boot auth2 dependencies >> differences between spring-boot-starter-oauth2-client and spring-boot-starter-oauth2-resource-server
以下 2 个依赖项之间有什么区别以及何时使用哪个?
#maven pom.xml format deps:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>
根据我的研究,您应该使用:
资源服务器:当客户端应用程序已经通过授权服务器验证时。 然后,客户端将授权 header 中的令牌发送到我们的 spring 启动服务器。 然后在服务器上验证令牌并授予对服务器资源的访问权限。
客户端:spring 启动应用程序现在是客户端,并将向授权服务器发出请求,并从中获取令牌。 此令牌现在可用于向其他资源服务器发出额外请求以获取某些资源。
我的理解对吗。 我是否遗漏了任何细节?
让我们通过图表了解一切:
OAuth2 定义了几个角色:
客户端:客户端(REST API客户端)是从资源服务器访问受保护资源的系统。 要从资源服务器访问资源,客户端必须持有适当的访问令牌。
客户端使用此 maven 依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
<version>2.7.6</version>
</dependency>
资源服务器:此服务器是一个通过 OAuth 令牌保护资源的应用程序。 资源服务器的工作是在向客户端提供资源之前验证令牌。
资源服务器使用这个 maven 依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
<version>2.7.6</version>
</dependency>
授权服务器:该服务器接收来自客户端的访问令牌请求,并在身份验证成功后发出这些请求。 该服务充当客户端和资源所有者之间的中间人。
授权服务器使用这个 maven 依赖:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-authorization-server</artifactId>
<version>1.0.0</version>
</dependency>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.