Oauth2授权码模式

本文详细介绍了OAuth2授权码模式的工作流程,包括客户端请求授权、用户授权、获取授权码、申请令牌等步骤,并通过实际示例演示了如何申请授权码和令牌。此外,还展示了使用Postman进行授权码模式的测试过程,以及代码实现的简单示例。
摘要由CSDN通过智能技术生成


在这里插入图片描述

Oauth2授权模式

1、授权码模式Authorization Code;
2、隐式授权模式Implicit;
3、密码模式Resource Owner Password Credentials;
4、客户端模式Client Credentials。

授权码授权流程

1、客户端请求第三方授权;
2、用户(资源拥有者)同意给客户端授权;
3、客户端获取到授权码,请求认证服务器申请令牌;
4、认证服务器向客户端响应令牌;
5、客户端请求资源服务器的资源,资源服务器校验令牌的合法性,完成授权;
6、资源服务器返回受保护资源。

申请授权码

  • 请求认证服务获取授权码(get请求):

localhost:40400/auth/oauth/authorize?client_id=XcWebApp&response_type=code&scop=app&redirect_uri=http://localhost

  • 参数:

(1)client_id:客户端id,和授权配置类中设置的客户端id一致。
(2)response_type:授权码模式固定位code。
(3)scop:客户端范围,和授权配置类中设置的scop一致。
(4)redirect_uri:跳转uri,当授权码申请成功后会跳转到此地址,并在后边带上code参数(授权码)。

  • 跳转到登录页面:
    (账号密码均为:XcWebApp)
    在这里插入图片描述
  • 进入授权页面:
    在这里插入图片描述
  • 点击同意,返回授权码:
    在这里插入图片描述

申请令牌

  • 拿到授权码之后,申请令牌。
  • post请求:http://localhost:40400/auth/oauth/token。
  • 参数:

grant_type:授权类型,填写authorization_code,表示授权码模式。
code:授权码,上述获取的授权码。注意:授权码都是一次性使用,使用一次,下一次就要重新获取。
redirect_uri:申请授权码时的跳转url,一定要与申请授权码时用的redirect_uri一致。

  • 使用postman测试如下:
    在这里插入图片描述
    在这里插入图片描述
  • 返回参数:

access_token:访问令牌,携带此令牌访问资源。
token_type:带有MAC Token与BearerToken两种类型,两种的校验算法不同,RFC6750建议Oauth2采用BearerToken(http://www.rfcreader.com/#rfc6750)。
refresh_token:刷新令牌,使用此令牌可以延长访问令牌的过期时间。
expires_in:过期时间,单位为秒。
scope:范围,与定义的客户端范围一致。

  • 代码实现:

简单实现,ssh下载。(持续更新中)
github:git@github.com:17521227324/xuexi.git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot是一个开发Java应用的框架,它提供了便捷的配置和开发方式。OAuth2是一种授权协议,用于保护Web应用的资源。而微信是中国最大的社交媒体平台之一,也提供了OAuth2的接口用于用户授权。 在Spring Boot中使用OAuth2授权模式实现与微信的授权,需要进行以下步骤: 1. 配置OAuth2客户端信息:在应用的配置文件中,添加微信的OAuth2客户端信息,包括client id、client secret和授权回调地址等。 2. 创建Spring Security配置类:在配置类中,使用@EnableOAuth2Client注解启用OAuth2 Client功能,并配置OAuth2客户端信息。 3. 创建授权回调URL处理器:在回调URL处理器中,获取微信返回的授权以及其他相关参数,并将授权发送到微信的access token API获取访问令牌和刷新令牌。 4. 实现用户认证和授权逻辑:根据微信返回的访问令牌,获取用户的基本信息,并封装成Spring Security的UserDetails对象,用于用户认证和授权。 5. 创建前端页面:在前端页面显示微信授权按钮,用户点击后跳转至微信授权页面进行授权。 6. 处理授权后的回调请求:在回调请求处理器中,获取微信返回的授权,并将授权发送到服务端以获取访问令牌。 7. 使用访问令牌访问微信API:根据获取到的访问令牌,使用微信API获取用户的基本信息、用户授权范围等。 以上是使用Spring Boot实现与微信OAuth2授权模式的基本步骤。通过配置OAuth2客户端信息、处理授权回调、实现用户认证和授权逻辑,我们可以在Spring Boot应用中实现与微信的授权登录功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值