oauth2获取access_token的几种方式:
- 简化模式(implicit):在redirect_url中传递access_token,oauth客户端运行在浏览器中。
- 密码模式(password):将用户名和密码传过去,直接获取access_token。
- 客户端模式(client credentials):用户向客户端注册,然后客户端以自己的名义向“服务端”获取资源。
- 授权码模式(authorization code):通过客户端的后台服务器,向服务端认证。
这里介绍如何使用密码模式获取access_token:
- 拼接授权的client_id和client_secret,并使用base64编码之后作为请求头:
先拼接:client_id:client_secret 如 : client:secret
使用任意base64工具编码: Y2xpZW50OnNlY3JldA==
最后在请求头添加: "Authorization" : "Basic Y2xpZW50OnNlY3JldA=="
- 使用post请求:
url: http://localhost:8020/oauth/token?grant_type=password&username=admin&password=admin
- 获取结果:
也可直接将client信息直接放在url中,如:
url:http://localhost:8020/oauth/token?grant_type=password&client_id=client&client_secret=secret&username=admin&password=admin
也可将请求数据都放在请求体或者是表单中: