OAuth2.0是一种允许第三方应用程序使用资源所有者的凭据获得对资源有限访问权限的一种授权协议,例如我们登陆豆瓣网的时候,如果不想单独注册豆瓣网账号的话,就可以选择用微博或者微信账号进行授权登录,通过微信登录豆瓣网的过程,就相当于微信允许豆瓣网作为第三方应用程序在经过微信用户授权后,通过微信颁发的授权凭证有限地访问用户的微信头像、手机号,性别等受限制的资源,从而来构建自身的登录逻辑。需要注意的是微信是不会直接将用户的用户名、密码等信息作为凭证返回给豆瓣的。这种授权访问凭证一般来说就是一个表示特定范围、生存周期和其访问权限的一个由字符串组成的访问令牌,也就是我们常说的token。在这种模式下OAuth2.0协议中通过引入一个授权层来将第三方应用程序与资源拥有者进行分离,而这个授权层也就是我们常说的“auth认证服务/sso单点登录服务器”。本文主要讲解如何在阿里云上自建oauth2.0认证以及atrust对接阿里云IDaas的oauth2认证。 一、阿里云上自建oauth2.0认证服务器 1、登录阿里云官网:搜索IDaas或者根据下图来找到IDaas配置入口
2、点击免费开通EIAM服务:
3、点击EIAM实例列表,新增一个EIAM实例:
4、点击实例名称,进入到IDaas控制台,点击应用列表,选择添加应用:
5、选择OAuth2认证,点击添加应用:
其他保持默认:
7、配置完成后,生成如下内容,需要提供client id、client secret、Authorize URL这三条内容:
8、在atrust配置:先在特性中心开启oauth2认证
9、新增oauth2自定义认证: (1)配置获取code:
(2)获取用户信息配置: IDaaS_server地址为用户登录页地址:
响应配置:
配置响应数据预处理: 加入以下内容:
配置第二次请求:
响应配置:注意解析格式
10、阿里云IDaas控制台上新增用户并授权进行测试:
11、登录测试,选择Oauth2认证登录方式,输入用户名密码之后登录成功:
|