繁体   English   中英

Spring boot auth2 dependencies >> spring-boot-starter-oauth2-client 和 spring-boot-starter-oauth2-resource-server 的区别

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM