JWT(JSON Web Token)

之前的 中我们的目标都是获取 Token ; 那这个 Token 是个什么样的呢? RFC 并没有明确规定; 不过业内比较常见的方案是使用 JWT ; JWT 是 JSON Web Token 的缩写; 要学习 JWT 我们可以拿 session 作为参照物; 在传统开发中我们在用户登录后会创建一个 session 文件 xxx ; 用户的 id ...
阅读全文

OAuth 系列(六)对比总结

这个周日需要补节五一假期的班; 今个在上班没足够的时间写文章了; 写一篇总结文吧; 获取 access_token 的方式 授权码模式(Authorization Code):先用账号密码登录获取 code ;然后使用 code 获取 access_token ; 简化模式(也叫隐式授权)(Implicit): 使用账号密码直接在浏览器通过重定向获取 access_...
阅读全文

OAuth 系列(五)客户端模式 Client Credentials

前面讲的三种模式都是面向用户的; 获取的 access_token 都有对应的 user ; 今天要讲的客户端模式获取的 access_token 则没有对应的 user ; 和 相似的地方在于一般都是用于自己的应用; 不会给第三方开放客户端模式; 它的应用场景主要是机器或应用之间调用 api 访问数据; 和 相似的地方在于同样只有 access_token...
阅读全文

OAuth 系列(四)密码模式 Resource Owner Password Credentials

密码模式不同于前面讲过的 ; 前面的这两种模式中账号密码都是在授权服务器上输入的; 都有重定向跳转步骤; 客户端 Clinet 并不知道用户账号和密码; 而密码模式则需要 Clinet 使用账号密码来获取 Token ; 虽然 OAuth 协议要求 Clinet 禁止存储用户的账号密码; 但是大家并不能信任第三方的 Client; 因此密码模式一般用于自家...
阅读全文

OAuth 系列(三)简化模式 Implicit

简化模式 (Implicit) 也翻译做隐式模式或者紧凑模式; 简化模式的简化是相对于授权码模式来说的; 上篇文章 ; 我们讲过要获取 access_token 需要在 Client 服务器上发送 POST 请求; 但是在很多场景中我们可能没有服务器只有浏览器; 在远古时期还没有 CORS; 为了向这类场景妥协; 于是就有了简化授权; 在写本文的时候...
阅读全文

OAuth 系列(二)授权码模式 Authorization Code

授权码模式 (Authorization Code) 是最常见的 OAuth 授权类型; 它的流程相对于其他模式是最复杂也是最完善的; 我们这里还以 白俊遥博客 和 github 做示例; 拼接链接获取 code 需要拼接一个链接; 这个过程是在第三方客户端完成的即 白俊雅博客; 在白俊遥博客上有一个 github 登陆按钮; 放在按钮上我们可以...
阅读全文

关于我的PHP直播公开课的广告

受的邀请; 给 MySQL DBA 的亲们在腾讯课堂做个 PHP 的直播分享; 本次公开课主要有以下内容; 1. PHP 的发展历史 2. PHP 的包管理工具 composer 3. PHP 框架的选择 4. PHP 的学习路线推荐以及最佳实践 5. 个人的技术成长经验分享 有兴趣的童鞋们可以点击链接报名哈; 只需要邀请扫码助力下即可免费参...
阅读全文

OAuth 系列(一)序言

每项技术的诞生都是为了解决某个需求; 因此当我们学习技术的时候要搞清楚两个问题; 1. 这项技术解决的是什么问题2. 这项技术是怎么解决问题的本系列教程就是要对 OAuth 进行讲解; 我们先来回答上面第一个问题; 在互联网上有很多的应用; 这些应用是不同公司或个人开发的; 比如说 github 和 白俊遥博客 ; 很多时候多个应用之间的用户...
阅读全文

最适合入门的Laravel中级教程(四)前端开发

Laravel 使用 npm 安装前端依赖; npm 是一个类似 composer 的工具; 用于管理前端的各种依赖包; 在使用之前需要先安装 node ; Windows 下可以在官网下载安装: Mac 上可以通过 brew 安装; ```bashbrew install node```node 已经捆绑了 npm 不需要单独安装 npm 了;...
阅读全文

最适合入门的Laravel中级教程(三)表单验证

做开发有个原则是永远不能信任用户输入的数据; 即便前端已经做了验证; 在后端 php 也必须要再次验证; laravel 为表单验证提供了强大且简单的方案; 创建示例路由: routes/web.php```phpRoute::prefix('validation')group(function () { Route::get('create', '...
阅读全文