非常实用的为公司和个人项目分别设置 Git User 的方案

概述作为开发者,bug 任何时候都要修!不修不行!,你们想想,你带着老婆出了城,吃着火锅还唱着歌,突然就收到通知说线上项目崩了,要赶紧修,每分钟都损失好几个小目标,这时候我们只好打开个人电脑,改起了公司项目代码。种种的种种造成了我们自己的电脑上可能同时存有个人项目和公司项目,在使用 Git 提交代码的时候我们需要设置 name 和 email,因为没设置或设置错误造成个人 email 和公
阅读全文

多语言开发需要了解的国家语种代码标准

介绍在我们开发过程中; 或者在浏览网页过程中; 如果涉及到多语言; 我们会经常发现 `cn`; `zh` `zhHans` `zhCN` 、 `zhcn` 各种方式五花八门简直令人目瞪狗呆; 他们之间到底有什么区别? 又有什么关系? 这一切的一切; 到底是人性的扭曲? 还是道德的沦丧?
阅读全文

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