www.7727s.com_金沙国际唯一官网_欢迎来访

OAuth 系列(四)密码模式(Resource Owner Password Credentials Grant)

密码模式不同于前面讲过的 授权码简化模式
前面的这两种模式中账号密码都是在授权服务器上输入的;
都有重定向跳转步骤;
客户端 Clinet 并不知道用户账号和密码;
而密码模式则需要 Clinet 使用账号密码来获取 Token ;
虽然 OAuth 协议要求 Clinet 禁止存储用户的账号密码;
但是大家并不能信任第三方的 Client;
因此密码模式一般用于自家 Client ;
比如说自家的 APP ;
而不会开放给第三方 Client 使用;
下面的演示跟上篇文章一样;
使用本地创建的 OAuth 项目做示例;
项目链接是 http://oauth.test

获取 Token

直接获取 Token ;
请求方式: POST
链接:http:// oauth.test/oauth/token
请求参数如下:

grant_type: password
username: xxx
password: xxx
scope: user:email

grant_type : 固定值为 password
username : 用户名
password : 密码
scope : 要申请的权限
请求的返回值如下:

{
  "token_type": "Bearer",
  "expires_in": xxx,
  "access_token": "xxx",
  "refresh_token": "xxx",
}

请求的返回值如下:
token_type 是 token 类型一般是 Bearer ;
expires_in 过期时间
access_token 用于获取用户信息的令牌
refresh_token 用于刷新 access_token

oauth

www.7727s.com博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
Baidu
sogou