oauth简化模式android,OAuth 系列(三)简化模式 Implicit

简化模式 (Implicit) 也翻译做隐式模式或者紧凑模式;

简化模式的简化是相对于授权码模式来说的;

上篇文章 OAuth 系列(二)授权码模式Authorization Code ;

我们讲过要获取 access_token 需要在 Client 服务器上发送 POST 请求;

但是在很多场景中我们可能没有服务器只有浏览器;

在远古时期还没有 CORS;

为了向这类场景妥协;

于是就有了简化授权;

在写本文的时候我没找到一个合适的简化授权的示例网站;

于是我这里在本地创建了一个 oauth 项目;

项目链接是 http://oauth.test

拼接链接

和简化授权一样;

第一步都是拼接链接;

请求方式: GET

请求链接: http://oauth.test/oauth/authorize

并拼接携带以下参数:response_type=token

client_id: xxx

redirect_uri:

scope:

state: xxx

获取 token

当访问上一步拼接好的链接时;

如果没有登录的话会先被重定向到登录页面;

1dda30fef6ed9f4c10d8f97300f073da.png

登录过后会显示授权页面;

23e709565e9049dfd5b3f0f1710efc47.png

授权后重定向到回跳链接;

http://oauth.test/auth/callback#access_token=xxx&token_type=Bearer&expires_in=31622400

token_type 是 token 类型一般是 Bearer ;

expires_in 过期时间

access_token 用于获取用户信息的令牌

687d7d694cc83ad6c4815fd275271a98.png

我们可以看到这里直接获取到了 access_token ;

总结

我们跟授权码对比可以发现;

简化模式没有获取 code 的步骤;

整个过程我们只传递了 client_id ;

但是并没有传递 client_secret ;

那么也就无法验证 client 的真实性;

简化模式没有授权码模式安全;

获得的 token 只有 access_token 没有 refresh token;

而且 access_token 的过期时间设置的比较短;

因此现在不建议使用简化模式;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值