Oauth2授权码模式
授权码授权流程
例举的黑马程序员网站使用微信认证的过程就是授权码模式,流程如下:
1、客户端请求第三方授权
2、用户(资源拥有者)同意给客户端授权
3、客户端获取到授权码,请求认证服务器申请令牌
4、认证服务器向客户端响应令牌
5、客户端请求资源服务器的资源,资源服务校验令牌合法性,完成授权
6、资源服务器返回受保护资源
申请授权码
请求认证服务获取授权码:
Get请求:
localhost:40400/auth/oauth/authorize?client_id=XcWebApp&response_type=code&scop=app&redirect_uri=http://localhost
参数列表如下:
client_id:客户端id,和授权配置类中设置的客户端id一致。
response_type:授权码模式固定为code
scop:客户端范围,和授权配置类中设置的scop一致。
redirect_uri:跳转uri,当授权码申请成功后会跳转到此地址,并在后边带上code参数(授权码)。
数据库中有一张表,表里面存放了配置的客户端id,如果请求的参数后的client_id在数据库中不存在,是不会颁发授权码的
请求后会跳转到登录页面
用户名是client_id,密码是client_secret(已经加密过)
密码和账号输入成功后会带着授权码重定向到指定的uri下