oauth2.0 php简化模式,OAuth2.0学习(1-5)授权方式2-简化模式(implicit grant type)

授权方式2-简化模式(implicit grant type)

简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳过了"授权码"这个步骤,因此得名。所有步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。

L3Byb3h5L2h0dHAvaW1hZ2UuYmVla2thLmNvbS9ibG9nLzIwMTQvYmcyMDE0MDUxMjA1LnBuZw==.jpg

它的步骤如下:

(A)客户端将用户导向认证服务器。

(B)用户决定是否给于客户端授权。

(C)假设用户给予授权,认证服务器将用户导向客户端指定的"重定向URI",并在URI的Hash部分包含了访问令牌。

(D)浏览器向资源服务器发出请求,其中不包括上一步收到的Hash值。

(E)资源服务器返回一个网页,其中包含的代码可以获取Hash值中的令牌。

(F)浏览器执行上一步获得的脚本,提取出令牌。

(G)浏览器将令牌发给客户端。

下面是上面这些步骤所需要的参数。

A步骤中,客户端发出的HTTP请求,包含以下参数:

response_type:表示授权类型,此处的值固定为"token",必选项。

client_id:表示客户端的ID,必选项。

redirect_uri:表示重定向的URI,可选项。

scope:表示权限范围,可选项。

state:表示客户端的当前状态,可以指定任意值,认证服务器会原封不动地返回这个值。

下面是一个例子。

GET /authorize?response_type=token&client_id=s6BhdRkqt3&state=xyz

&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb HTTP/1.1

Host: server.example.com

C步骤中,认证服务器回应客户端的URI,包含以下参数:

access_token:表示访问令牌,必选项。

token_type:表示令牌类型,该值大小写不敏感,必选项。

expires_in:表示过期时间,单位为秒。如果省略该参数,必须其他方式设置过期时间。

scope:表示权限范围,如果与客户端申请的范围一致,此项可省略。

state:如果客户端的请求中包含这个参数,认证服务器的回应也必须一模一样包含这个参数。

下面是一个例子。

HTTP/1.1 302 Found

Location: http://example.com/cb#access_token=2YotnFZFEjr1zCsicMWpAA

&state=xyz&token_type=example&expires_in=3600

在上面的例子中,认证服务器用HTTP头信息的Location栏,指定浏览器重定向的网址。注意,在这个网址的Hash部分包含了令牌。

根据上面的D步骤,下一步浏览器会访问Location指定的网址,但是Hash部分不会发送。接下来的E步骤,服务提供商的资源服务器发送过来的代码,会提取出Hash中的令牌。

OAuth2.0学习(1-6)授权方式3-密码模式(Resource Owner Password Credentials Grant)

授权方式3-密码模式(Resource Owner Password Credentials Grant) 密码模式(Resource Owner Password Credentials Grant ...

OAuth2.0学习(1-12)开源的OAuth2.0项目和比较

OAuth2.0学习(2-1)OAuth的开源项目   1.开源项目列表 http://www.oschina.net/project/tag/307/oauth?lang=19&sort=t ...

OAuth2.0学习(1-11)新浪开放平台微博认证-使用OAuth2.0调用微博的开放API

使用OAuth2.0调用API 使用OAuth2.0调用API接口有两种方式: 1. 直接使用参数,传递参数名为 access_token URL 1 https://api.weibo.com/2/ ...

OAuth2.0学习(1-3)OAuth2.0的参与者和流程

OAuth(开放授权)是一个开放标准.允许第三方网站在用户授权的前提下访问在用户在服务商那里存储的各种信息.而这种授权无需将用户提供用户名和密码提供给该第三方网站. OAuth允许用户提供一个令牌给第 ...

OAuth2.0学习(1-8) 授权方式五之Access_Token令牌过期更新

OAuth2.0的Access_Token令牌过期更新 如果用户访问的时候,客户端的"访问令牌"已经过期,则需要使用"更新令牌"申请一个新的访问令牌. 客户端发 ...

OAuth2.0学习(1-7)授权方式4-客户端模式(Client Credentials Grant)

授权方式4-客户端模式(Client Credentials Grant) 客户端模式(Client Credentials Grant)指客户端以自己的名义,而不是以用户的名义,向"服务提 ...

OAuth2.0学习(1-4)授权方式1-授权码模式(authorization code)

参与者列表: (1) Third-party application:第三方应用程序,又称客户端(client),如:"云冲印".社交应用. (2)HTTP service:HTT ...

OAuth2.0学习(2-1)Spring Security OAuth2.0 开发指南

开发指南:http://www.cnblogs.com/xingxueliao/p/5911292.html Spring OAuth2.0 提供者实现原理: Spring OAuth2.0提供者实际 ...

OAuth2.0学习(1-1)OAuth2.0是什么?

目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题 OAuth就是用于为第三方应用授权访问用户的资源应用的. 目前有OAuth1. ...

随机推荐

java timer 执行任务

1. 建立timer import java.util.Timer; import java.util.TimerTask; public class Start { public class Sta ...

什么是co-training

首先先认识下什么是co-training: 在计算机视觉中,我们都知道训练一个分类器的时候,我们需要两类样本,分别是正样本和负样本.监督训练又可以成为off-line training,就是提前准备好 ...

寒假学习unity的第一天

1.在Assert中创建材质Material,可以为物体附上材质 2.实例化命令Instantiate(要生成的物体,生成的位置,生成物体的选择角度) 3.检测鼠标左键 if(Inhibitor.Ge ...

[原]Django调试工具--django-debug-toolbar

请摒弃简单粗暴的print --马云 我比较习惯在windows中安装pycharm开发,项目部署在虚拟机中,在本地浏览器中查看效果,这种方式在调试上会有点麻烦,django-debug-toolba ...

Minimum Inversion Number(归并排序)

Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

hibernate增删改查

-----------增加--------- public void insertUsers(String userName,String userPwd) { Users u=new Users() ...

项目实战12.1—企业级监控工具应用实战-zabbix安装与基础操作

无监控,不运维.好了,废话不多说,下面都是干货. 警告:流量党勿入,图片太多!!! 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html ...

java中类的加载过程和对象的创建过程

1.类加载过程 首先,jvm在执行时,遇到一个新的类,会先去内存的方法区中去寻找该类的.class文件,如果找到了就直接运行,如果没有找到,则会去硬盘中去寻找该类的.class文件,并将该类文件加载到 ...

swoole异步群发模板消息

1.用的是TP5.1的框架,swoole分成一个客户端发送接收消息,一个服务器负责处理信息 服务端代码,服务器要先安装swoole拓展,用 php server.php 启动进程监听 <?php ...

typedef struct bit0 &colon; 1

这句话定义了一个位域,bit0是该位域的域名,而且bit0只占用一个位.位域是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.为了节省存储空间,并使处理简便,C语言提供了一种 ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人与人工的智能区别

来源&#xff1a;人机与认知实验室是非之心&#xff0c;智也! 为什么说这不仅仅是指伦理道德&#xff0c;其实&#xff0c;这涉及到人之智能、智慧的根本&#xff1a;非逻辑推理性的判断! 机器的判断是逻辑推理性的&#xff0c;对环境的适应性自然就弱了一些。作家菲茨杰拉德的…

AI大觉醒:图灵奖得主Bengio称AI将产生意识,未来机器学习核心是注意力机制

来源&#xff1a;人工智能AI技术人工智能会产生意识吗&#xff1f;这是一直以来美剧《西部世界》中探讨的问题。AI主人公觉醒&#xff0c;意识到这个世界是人类杀伐主宰的乐园&#xff0c;于是开启了逆袭之路。2020年ICLR上&#xff0c;图灵奖得主、蒙特利尔学习算法研究所主任…

人类应鼎力进行探索的35种颠覆性技术

本文转载自“战略前沿技术”&#xff0c;原标题《人类应鼎力进行探索的35种颠覆性技术》人类文明的进步&#xff0c;只要出现难以逾越的障碍&#xff0c;必然给人类的发展带来迷茫和灾难。而解决的路径只有一个&#xff1a;科技探索和创新。只有鼎力进行中的科技探索&#xff0…

【codevs2488】绿豆蛙的归宿

这个题开始正向拓扑排序&#xff0c;然后各种wa&#xff0c;心灰意冷&#xff0c;找了个题解&#xff0c;和同学研究了半天&#xff0c;甚至曾经一度认为题解是错的。 这个题正向反向应该都无所谓&#xff0c;但是我实在是蒻&#xff0c;打了半天正向都没打过去&#xff0c;最后…

半导体光刻机行业深度报告:复盘ASML,探寻本土光刻产业投资机会

报告来源&#xff1a;西南证券1、 提要&#xff1a;光刻工艺是晶圆制造最核心环节&#xff0c;光刻产业链协同发展成为光刻机突破关键因子1.1 光刻定义晶体管尺寸&#xff0c;光刻工艺合计占芯片成本近 30% 2019 年全球半导体市场规模达 4090 亿美元&#xff0c;成为数码产业的…

C语言的参数传递原理解析(值传递)

本讲我们和大家一起来聊一聊C语言中有关参数传递的一些知识。 1.问题引入 请写出以下程序的打印结果。 #include // 将某整数加10 void add_by_10(int a){ a a 10; } int main(int argc, char *argv[]){ int a 2; add_by_10(a); printf("a %d\n", a); 上面的程序非…

字符串php手册,php知识点复习之字符串

欢迎进入Linux社区论坛&#xff0c;与200万技术人员互动交流 >>进入 /*echo mark qqqqqq\nqqqqqqbrqqqqqqqqqqqqq\rqqqqqqqqqqqqqqqqqq mark*/ //技术标志要另起一行&#xff0c;并且是顶格写&#xff01; //作用跟""类似//最致命的一点是&#xff1a;mark后面…

一个诡异的循环:意识何以意识到意识自身?

© Lia Koltyrina / Shutterstock本文经公众号利维坦&#xff08;ID&#xff1a;liweitan2014&#xff09;授权转载存在的感觉可能只是一种感觉。——本凯利夫&#xff08;Ben L. Callif&#xff09;与其他事物相同&#xff0c;我似乎身处宇宙漩涡的中心&#xff0c;整个宇…

美军重视扩展现实技术的研究和应用

来源&#xff1a; 知远战略与防务研究所 编译&#xff1a;王绍祺美国陆军退役中将苏珊劳伦斯曾担任陆军G-6首席信息官、网络企业技术司令部司令&#xff0c;现为埃森哲联邦服务公司武装部队部门总经理。苏珊劳伦斯在美国《信号》杂志2019年10月号发表文章&#xff0c;指出扩展…

寒武纪开盘暴涨350%,市值突破1000亿,85后创始人身家超300亿!千亿盛宴背后隐忧不可忽视!...

来源&#xff1a;EETOP7月20日&#xff0c;寒武纪科创板首发上市&#xff0c;发行价每股64.39元&#xff0c;开盘价为250元/股&#xff0c;涨幅288%。最高价更是达到了295元/股&#xff0c;涨幅358%&#xff01;市值一度突破1000亿人民币&#xff0c;不过随后股民信心有所不足&…

Mac上的抓包工具Charles

今天就来看一下Mac上如何进行抓包&#xff0c;之前有一篇文章介绍了使用Fidder进行抓包 http://blog.csdn.net/jiangwei0910410003/article/details/19806999 不过可惜的是&#xff0c;Fidder使用C#开发的&#xff0c;所以就不能在Mac上使用了&#xff0c;不过还有另外一个抓包…

oracle 在所有表中查某个值,oracle需要查询某个字段的值在其他某个表中有没的值有相同...

使用场景&#xff1a;知道某个字段的值(例如&#xff1a;“张三”)&#xff0c;需要查询在其他某个表中有没有相同的值&#xff0c;常用于搜索关联表等。对于oracle数据库&#xff1a;Pl\sql没有搜索功能&#xff0c;需借助存储过程&#xff0c;完成搜索&#xff0c;搜索结果是…

oracle11g session,Oracle11g中Killsession心得

我们知道,在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为:我们知道,在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为:alter system kill session sid,serial# ;被kill掉的session,状态会被标记为killed,Oracle会在…

26个顶尖战略咨询公司常用分析模型详解!

导 读 ( 文/ CMKT咨询圈 整理 )咨询行业是不少小伙伴的奋斗目标&#xff0c;麦肯锡、波士顿、贝恩等顶尖战略咨询更是所有行业顶尖的存在&#xff0c;咨询顾问是如何解决问题&#xff0c;为企业做战略规划&#xff0c;咨询公司常用分析模型功不可没。几乎每个大型快消企业的高管…

中国工程院王辰院士对话百度CTO王海峰,大数据与医学的一场史诗级邂逅

来源&#xff1a;脑极体你有多久没有关注疫情的消息了&#xff1f;除了戴口罩变得格外闷热&#xff0c;以及偶尔从海外传来的新闻之外&#xff0c;我已经很少会主动点开《新型冠状病毒肺炎疫情地图》了&#xff0c;而几个月之前&#xff0c;我简直恨不得“住”在疫情新闻板块里…

rm linux 复制目录,linux学习(四)复制(cp)移动(mv)删除(rm)查找(find)文件、文件夹操作、软硬链接的区别...

复制文件cp命令用于复制文件到制定的目录 语法格式为&#xff1a;cp [选项] 源文件或目录 目标文件或目录命令选项含义cp -d当复制符号链接时&#xff0c;把目标文件或目录页建立为符号链接&#xff0c;并指向与源文件或目录连接的原视文件或者目录cp -f强行复制文件或者目录cp…

程序猿的日常——JVM内存模型与垃圾回收

Java开发有个很基础的问题&#xff0c;虽然我们平时接触的不多&#xff0c;但是了解它却成为Java开发的必备基础——这就是JVM。在C中我们需要手动申请内存然后释放内存&#xff0c;否则就会出现对象已经不再使用内存却仍被占用的情况。在Java中JVM内置了垃圾回收的机制&#x…

智慧城市丨智能时代的城市设计新策略

来源&#xff1a;万物智能视界智慧城市作为解决城市病、提高城市发展质量以及改善城市群建设结构的新型城市形态&#xff0c;已成为世界各地城市发展的必然趋势。借助新兴的信息技术能够随时随地感知、捕获、传递和处理信息&#xff0c;能够实现对城市的精细化、智能化管理&…

从看见到听见,机器人传感能否解决智能制造检测的最后一公里难题?

来源&#xff1a;机器人大讲堂导读手机、无人机、机器人眼睛里的隐藏王者&#xff0c;华为、小米的视觉供应商&#xff0c;这家隐形冠军现在也开始在机器人行业发力&#xff0c;将延伸人类感官?华为、VIVO、小米、魅族&#xff0c;这些市场上你能找到的手机品牌&#xff0c;其…

linux alsa声卡命令,Linux ALSA声卡驱动之一:ALSA架构简介

一. 概述ALSA是Advanced Linux Sound Architecture 的缩写&#xff0c;目前已经成为了linux的主流音频体系结构&#xff0c;想了解更多的关于ALSA的这一开源项目的信息和知识&#xff0c;请查看以下网址&#xff1a;http://www.alsa-project.org/。在内核设备驱动层&#xff0…