php oauth 服务端,OAuth 2.0 PHP客户端和服务器示例
一旦您知道协议的工作原理,设置OAuth2提供程序就变得非常简单。这是一个2或3步的过程(取决于您的设置,以及是否代表用户或仅从服务器获取令牌)。
你需要什么
> OAuth2提供程序的工作代码
>耐心
你需要知道如何处理你的代码:
>创建客户端(公共和私有访问令牌)
找出授权和令牌端点的命名方式(通常是/授权和/令牌)
找出范围如何处理
获取令牌的第一步是调用/授权?response_type = code& client_id = [您的ID]& redirect_uri = [您的重定向URI]& scope = [您的范围],其中:
> clientid([您的ID])是您的公开访问令牌
redirect_uri([您的REDIRECT URI])是您的重定向URI。完成自动化步骤后,您将被重定向至此
范围是您未来令牌的范围
完成后(通常有一个提交按钮),您的浏览器将被重定向到URL中指定的URI(code = blah)。保存此值。
当你有这个代码时,调用另一端点:/ token?client_id = [你的ID]& client_secret = [你的秘密]& grant_type = authorization_code& scope = [你的范围]& code = [你的代码] & redirect_uri = [您的REDIRECT URI]
参数:
– client_id – 再次,您的客户端公钥
– client_secret – 你的私钥(这应该是一个服务器端的调用)
– 范围 – 令牌的范围 – 必须匹配第一个呼叫
– redirect_uri – 重定向URI – 必须匹配第一个呼叫
– 代码 – 你收到的代码
如果一切顺利,您将在屏幕上看到包含令牌信息的JSON对象。
后台会发生什么
步骤1(授权)
当您确认表单时,服务器将创建一个临时令牌(称为身份验证令牌),通常其使用寿命非常短(我的oauth2 sp代码通常将其设置为60秒)。这是您的服务器从接收代码到触发步骤2的时间。它只是一个确认系统,其目的是还存储步骤1中提供的信息以防止劫持。
步骤2(令牌)
这是您的访问令牌实际创建的位置。许多验证,很多东西,但最终,令牌只是一个链接您的client_id和您的令牌的值。就是这样。
无耻的插件:如果您使用Laravel框架,我从头开始构建了这个(而不是使用肮脏的,无文档的示例代码):http://bundles.laravel.com/bundle/oauth2-sp
php oauth 服务端,OAuth 2.0 PHP客户端和服务器示例相关推荐
- c语言传奇引擎源码,Ei3.0服务端引擎源代码+登陆网关+客户端插件
Ei3.0服务端引擎源代码+登陆网关+客户端插件 procedure TPANEL.Button3Click(Sender: TObject); var P:integer; mItem:DWORD; ...
- nett服务器接收消息的方法,C#(一沙框架) .net core3.1 SignalR 服务端推送消息至客户端的实现方法,用弹窗插件进行显示,非常美观实用...
C#(一沙框架) .net core3.1 SignalR 服务端推送消息至客户端的实现方法,用弹窗插件进行显示,非常美观实用 运行效果: 1.安装Microsoft.AspNetCore.Signa ...
- JavaSocket服务端处理多个硬件客户端并监测硬件客户端是否在线
服务端对接的是硬件客户端,客户端反馈的结果是byte[],需要先解析出来硬件的编号,然后存储到map集合中,方便服务端接收到用户指令给另外一个硬件客户端发送指令. 服务端: public class ...
- SSR 学习 - 传统服务端渲染 Web 应用、客户端渲染、同构渲染、优缺点和案例演示
概述 随着前端技术栈和工具链的迭代成熟,前端工程化.模块化也已成为了当下的主流技术方案. 在这波前端技术浪潮中,涌现了诸如 React.Vue.Angular 等基于客户端渲染的前端框架. 这类框架所 ...
- java comet_用java实现comet,基于 HTTP长连接的实现,用于从服务端实时发送信息到客户端...
http://homelink.javaeye.com/blog/293328#comments 参考文档 http://www.ibm.com/developerworks/cn/web/wa-lo ...
- 如何用php向wsdl服务器发请求,知道服务器端Wsdl,不写服务端代码,仅写客户端代码能调用服务端的方法吗?...
新手请教,望高手朋友不吝赐教,无比感谢中. 今天一大早开始研究Webservice,有一本不太专业的参考书,随便找了一个服务端的Wsdl,想调用其中的方法,结果搞了一天,无果,老报错,郁闷. 代码如下 ...
- ajax向服务端发送请求验证用户名是否可用小示例
使用ajax向服务器发送请求 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 阿里云OSS服务端签名前端JS直传(php)示例
阿里云OSS服务端签名后前端JS直传(php)示例 需求:服务端上传图片太慢,需要使用前端直传的方式.但前端把阿里云的 AccessKey ID 和 AccessKey Secret 放在前端文件中会 ...
- mysql服务端放置_放置类游戏后端服务器架构设计与实现
前言: 停更了一段时间.2020年也接近尾声了,调整了一下人生状态,继续前进. 今年完全参与了一款放置类游戏从0到开发上线再到合服.从目前市场上买量游戏的发展线路来看,合服意味着游戏走向压榨玩家的最后 ...
最新文章
- 独家 | NLP详细教程:手把手教你用ELMo模型提取文本特征(附代码论文)
- scala java funtion1_当我在ScalaIDE中运行代码时,为什么要获取`java.lang.NoClassDefFoundError:scala / Function1`?...
- 数据结构 --静态队列 讲解
- 一文带你认识Spring事务
- 【HDU - 5744 】Keep On Movin (回文串性质,贪心思维,不是水题)
- HTTP协议中request报文请求方法和状态响应码
- SQL Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?...
- 在Service中发送广播被kill掉的Activity能不能收到?
- java a%2==0_Java 初始化a=2 打印a+++a++为5
- 快速校对所有文件的md5值
- IIS URLReWrite URL 重写模块 下载地址
- 常用的python内置方法
- highcharts
- IntelliJ IDEA多屏后窗口不显示问题解决(用工具一键解决)
- ArrayList学习[常用方法|源码]
- 深入剖析ConcurrentHashMap(2)
- Optional Interview with Benny the Irish Polyglot abo---coursera课程Learn how to learn
- 操作系统---高响应比优先调度算法实例
- Linux设备驱动开发入门之——hello驱动
- Burp Suite配合xray代理socks流量