oauth password模式_OAuth 系列(四)密码模式 Resource Owner Password Credentials-Fun言

密码模式不同于前面讲过的 授权码 和 简化模式;

前面的这两种模式中账号密码都是在授权服务器上输入的;

都有重定向跳转步骤;

客户端 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

刷新 token

当 access_token 过期后我们可以使用 refresh_token 获取新的 access_token ;

刷新 access_token 的方式如下:

请求类型: POST

请求链接: http://oauth.test/oauth/token ;

请求参数如下:

grant_type: refresh_token

refresh_token: xxx

scope: user:email

刷新 token 的返回值跟获取 token 步骤中的返回值一样;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值