博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OAuth2:隐式授权(Implicit Grant)类型的开放授权
阅读量:5962 次
发布时间:2019-06-19

本文共 1106 字,大约阅读时间需要 3 分钟。

适用范围

仅需临时访问的场景

用户会定期在API提供者那里进行登录

OAuth客户端运行在浏览器中(Javascript、Flash等)

浏览器绝对可信,因为该类型可能会将访问令牌泄露给恶意用户或应用程序

流程剖析

1. 让用户明白所做的操作并请求认证

这一步与授权码认证模式中的操作类似,即当牵涉到OAuth认证时,应首先让用户明确该操作。然后将用户引导至授权页面。

该授权接口的URL会在开发者文档中给出,以谷歌为例:

https://accounts.google.com/o/oauth2/auth

在请求该页面时还需附带几个参数:

client_id

在应用注册时提供

redirect_uri

授权认证后的重定向地址

scope

应用所请求访问的数据,一般由空格分隔的多个字符串组成

response_type

对于此授权类型来说为“token”,即在授权成功后会返回access token

2. 从URL中解析access token

当授权顺利完成后,用户会被重定向到redirect_uri中指定的URL并附带access_token等重要数据,它们会包含在url hash中,例如:

http://example.com/callback#access_token=ya29GAHES6ZSzX&token_type=Bearer&expires_in=3600

JavaScript是不会自动将解析hash段中的元素解析成键/值对,因此我们需要手动进行该操作:

1
2
3
4
5
6
7
8
var 
oauthParams = {};
// parse the query string
// from 
var 
params = {}, queryString = location.hash.substring(1), regex = /([^&=]+)=([^&]*)/g, m;
while 
(m = regex.exec(queryString)) {
    
oauthParams[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
}
...

3. 访问API

拿到了access_token,API接口就向你敞开了大门,接下来的操作我想就无需阐述了。

从整个流程可以看出,相比授权码授权,隐式授权少了第一步获取Authorization Code的过程,因此变得更为简单。但正因为如此也降低了安全性。

 
 
RECOMMENDS

 

转载于:https://www.cnblogs.com/webenh/p/7599175.html

你可能感兴趣的文章
Duilib学习笔记《06》— 窗体基类WindowImpBase
查看>>
共筑开放AI生态:ONNX标准得到华为、英特尔等更多厂商支持
查看>>
辅助企业IT进化的路上 数人云的不变与多变
查看>>
释放大数据生产力 Kyligence发布最新版旗舰产品KAP2.4
查看>>
惠普:应把大数据科学家作为一种共享资源
查看>>
中国人工智能学会通讯——自然语言处理中的技术评测
查看>>
开启openssl
查看>>
你必须关注超融合基础设施的理由
查看>>
善用佳软站长:畅谈大数据时代的知识管理
查看>>
AT&T:BYOD在2015年达“拐点”
查看>>
一款高端精密的DDoS定制工具包
查看>>
甲骨文5000万美元收购以色列大数据公司Crosswise
查看>>
小程序技术方案探讨
查看>>
用友优普发布企业空间2.0 助推企业互联网+
查看>>
文思海辉:大数据发展—源于创新、服务于创新
查看>>
中产委廖明:给中国制造转型的三点建议
查看>>
记一场为未来就绪的企业客户峰会
查看>>
5G来了 中国移动将孵化各种垂直应用 实现万物互联
查看>>
Fortinet为企业提出应对APT攻击的一些建议
查看>>
使用Disk2VHD进行P2V转换需要知道的一些事
查看>>