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 和 白俊遥博客 ; 很多时候多个应用之间的用户...
阅读全文

Mac从入门到痴迷系列之Go2Shell

作为程序猿在使用 Mac 过程中肯定是离不开命令行的; 我的 item2 基本是长期打开状态; 当正在某个目录下操作命令行的时候我可能想在 Finder 中打开此目录; Mac 中的 `open` 命令就够了;只需要执行 `open .` 即可;而又有一些时候我有需要跟上述场景相反的操作; 当我在 Finder 中浏览某个目录的时候我可能希望在命令行中到达此...
阅读全文

macOS删除启动台Launchpad中残留的快捷图标

在使用 macOS 的过程中;偶尔的情况下会发生命名删除了应用程序;但是在启动台 Launchpad 中仍然残留有快捷图标的情况;这对于一个强迫症患者来说是一件十分痛苦的事情;大多方案是使用 sqlit3 的命令行使用sql语句从数据库中找图标删除;然鹅这个太折腾了;还好后来找到了一款软件;官网在这: http://launchpadmanager.com ;直接点...
阅读全文