本文主要是介绍OAuth2 Token实现授权码模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- OAuth2 授权:Resource owner password(密码模式)
- OAuth2 授权:Authorization code grant授权码模式,适用于浏览器模式
- OAuth2:Implicit(简化授权模式)
- OAuth:Client credentials(客户端证书)
- 授权码模式使用案例
OAuth2 授权:Resource owner password(密码模式)
实例
认证服务器
搭建资源服务器
1、用户提供用户名、密码给客户端应用
2、客户端应用使用用户提供的用户名和密码和自己应用的clientid和clientserect来请求令牌
3、校验用户身份(用户名和密码)和客户端应用身份(clientid和clientserect)并返回访问令牌和刷新令牌
适用于app应用
OAuth2 授权:Authorization code grant授权码模式,适用于浏览器模式
1、像客户端应用发起访问
2、引导用户认证到授权服务器
3、用户提供身份证明
4、授权服务器发送授权码到前段服务器
5、前端服务器携带授权码到授权服务器申请令牌请求
6、返回访问令牌和刷新令牌
OAuth2:Implicit(简化授权模式)
在授权码模式的基础上做的简化,有一些客户端应用是没有服务器的
1、像客户端应用发起请求
2、引导用户认证
3、用户提供身份证明
4、返回访问令牌和刷新令牌
OAuth:Client credentials(客户端证书)
1、客户端应用发送clientid和clientsecret到授权服务器
2、授权服务器校验clientid和clientsecret并返回访问令牌
授权码模式使用案例
去认证服务器获取授权码
window.location.href='http://auth.test.com:8085/oauth/authorize?'+'client_id=admin&' //哪个客户端应用跳转过来的+'redirect_uri=http://admin.test.com:8080/oauth/callback&' //回调地址,认证服务器发送回来的授权码接收地址+'response_type=code&'+'state=abc';
}
如果未登录直接跳转到授权服务器默认的登录界面
注:认证服务器配置,继承WebSecurityConfigurerAdapter,里面默认的配置,是需要所有的页面都需要认证才可以访问
输入用户名、密码(按照之前的认证服务器配置)去验证用户信息
在数据库增加配置,添加授权码模式配置
注:web_server_redirect_uri填写的和获取授权码的redirect_uri地址一样,authorized_grant_types增加授权码模式(authorization_code),autoapprove填写为true,允许所有权限,也可以填写read或者write,是scope里面包含的权限信息
这篇关于OAuth2 Token实现授权码模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!