当前位置: 代码迷 >> 综合 >> 五、SpringSecurity+auth2.0系列(四种模式的接口请求接口)
  详细解决方案

五、SpringSecurity+auth2.0系列(四种模式的接口请求接口)

热度:32   发布时间:2023-12-11 16:10:24.0

本文只介绍通用的授权码和密码模式,其他的自行学习

1、Oauth2.0授权模式

1、步骤:客户端申请认证的URI,获取code

ip地址/oauth/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=CALLBACK_URL&scope=read&state=xxx

参数说明:

response_type:授权类型,必选项,此处的值固定为"code"  
client_id:客户端的ID,必选项  
redirect_uri:重定向URI,必选项  
scope:申请的权限范围,可选项  
state:任意值,认证服务器会原样返回,用于抵制CSRF(跨站请求伪造)攻击。

2、服务器回应客户端的URI,我们拿到回调的code

回调地址?code=SplxlOBeZQQYbYS6WxSbIA&state=xxx

参数说明:

code:授权码,必选项。授权码有效期通常设为10分钟,一次性使用。该码与客户端ID、重定向URI以及用户,是一一对应关系。  
state:原样返回客户端传的该参数的值。

3、客户端向认证服务器申请令牌

ip地址/oauth/token?client_id=CLIENT_ID&grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=CALLBACK_URL

参数说明:

client_id:表示客户端ID,必选项。  
grant_type:表示使用的授权模式,必选项,此处的值固定为"authorization_code"。  
code:表示上一步获得的授权码,必选项。  
redirect_uri:表示重定向URI,必选项,且必须与A步骤中的该参数值保持一致。

2 、密码模式

1、客户端发出https请求

ip地址/token?grant_type=password&username=USERNAME&password=PASSWORD&client_id=CLIENT_ID

参数说明:

grant_type:授权类型,此处的值固定为"password",必选项。  
username:用户名,必选项。  
password:用户的密码,必选项。  
scope:权限范围,可选项。
  相关解决方案