oauth2使用password模式获取access_token

时间:2024-04-01 18:38:19

oauth2获取access_token的几种方式:

  1. 简化模式(implicit):在redirect_url中传递access_token,oauth客户端运行在浏览器中。
  2. 密码模式(password):将用户名和密码传过去,直接获取access_token。
  3. 客户端模式(client credentials):用户向客户端注册,然后客户端以自己的名义向“服务端”获取资源。
  4. 授权码模式(authorization code):通过客户端的后台服务器,向服务端认证。

这里介绍如何使用密码模式获取access_token:

  1. 拼接授权的client_id和client_secret,并使用base64编码之后作为请求头:
        先拼接:client_id:client_secret  如 :     client:secret
        使用任意base64工具编码: Y2xpZW50OnNlY3JldA==
        最后在请求头添加:    "Authorization" : "Basic Y2xpZW50OnNlY3JldA=="
  2.     使用post请求:
        url: http://localhost:8020/oauth/token?grant_type=password&username=admin&password=admin
    oauth2使用password模式获取access_token

  3. 获取结果:
    oauth2使用password模式获取access_token        

    也可直接将client信息直接放在url中,如:
    url:http://localhost:8020/oauth/token?grant_type=password&client_id=client&client_secret=secret&username=admin&password=admin

    也可将请求数据都放在请求体或者是表单中:
    oauth2使用password模式获取access_token