前言
一、OAuth2.0简单说明
是授权机制,用来授权第三方应用,获取用户数据。
有四种授权方式
- 授权码(authorization-code)先申请一个授权码,然后再用该码获取令牌
- 隐藏式(implicit)
- 密码式(password):
- 客户端凭证(client credentials)
四种授权方式都会先进行注册,用来获得客户端 ID(client ID)和客户端密钥(client secret)。这是为了防止令牌被滥用,没有注册过的第三方应用,没有权限请求资源。
http://localhost:8080/openid-connect-server-webapp/authorize?response_type=code&client_id=4fcce0a5-c402-4edd-9dee-611c4a56e604&scope=openid
&state=SjRtTWp3Vit4aFF2UEdxY1I1WUF5UT09&redirect_uri=http://localhost:8081/login/test&nonce=Jly0EXwqxddHgh-hQ0MTSSmHzFWu4UrQZEsbHgd-aEY
state参数解释
- state 表示客户端的当前状态,可以指定任意值,认证服务器会原封不动地返回这个值。这里利用state值原封不动返回机制来传递业务程序所需的数据
参考资料:http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html
二、使用步骤
-1-单点地址
http://localhost:8081/oauth2/authorization