passport

[PHP] 浅谈 Laravel auth:api 不同驱动 token 和 passport 的区别

半腔热情 提交于 2020-01-21 23:26:41
token 驱动使用 TokenGuard 用传递的值去用户表中查询 member_token 字段的值,看是否有匹配的。服务端需要在用户表中存储 access_token。 passport 驱动是 laravel/passport 组件包提供的,通过 Bearer Token Validator 对传递的值进行 JWT 验证,看是否解析出的值能匹配到数据库中的 auth_access_token_id。服务端不需要存储 access_token,相对安全。 另外,laravel/passport 既支持自己的 密码型 应用也支持第三方 oauth2 型 应用,扩展性更好。 [PHP] 自定义 laravel/passport 的误区讲解 Link: https://www.cnblogs.com/farwish/p/12225810.html 来源: https://www.cnblogs.com/farwish/p/12225810.html

迅速学会PHP加密解密技巧

房东的猫 提交于 2020-01-10 04:11:18
我们在这里为大家详细介绍了有关 PHP 加密解密的实现方法。希望本文介绍的内容能够提高大家对PHP语言的了解程度。最近学习URL跳转的时候新进三个超好用的PHP加密解密函数,貌似是discuz里的… 使用这些PHP加密解密的原因是因为有时自己的URL地址被人获取以后想破解你里面传值的内容就必须知道你的key,没有key,他应该要破了一阵子才能知道你URL里面的内容吧... 闲话少说,先将它们打包成一个文件就叫fun.php吧 < ?php function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $ encrypt_key = md5 (rand(0, 32000)); $ ctr = 0 ; $ tmp = '' ; for($ i = 0 ;$i < strlen ($txt); $i++) { $ ctr = $ ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp . = $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]); } return base64_encode(passport_key($tmp, $key)); } function passport_decrypt($txt,

自定义 laravel6 配置 Passport Token失效的返回内容

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-25 15:27:40
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> laravel6默认的token失效或验证错误,返回内容代码在 vendor\laravel\framework\src\Illuminate\Auth\Middleware\Authenticate.php protected function unauthenticated($request, array $guards) { throw new AuthenticationException( 'Unauthenticated.', $guards, $this->redirectTo($request) ); } 默认或返回401, 显然这样对接口不友好, 自定义返回内容,只需重写该方法覆盖即可 在 app\Http\Middleware\Authenticate.php 添加如下方法 protected function unauthenticated($request, array $guards) { if (in_array('api', $guards)){ //这里可指定guard, 也可去掉 die(json_encode(['status' => 401, 'msg' => 'token已失效或验证错误,请重新登陆'])); } throw new

我可以在.gitconfig中为自己指定多个用户吗?

半腔热情 提交于 2019-12-24 17:57:35
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在 ~/.gitconfig ,我在 [user] 我的个人电子邮件地址,因为这是我要用于Github存储库的地址。 但是,我最近也开始使用git进行工作。 我公司的git repo允许我提交,但是当它发布新变更集的公告时,它说它们来自匿名用户,因为它无法识别我的 .gitconfig 的电子邮件地址-至少,这是我的理论。 是否可以在 .gitconfig 指定多个 [user] 定义? 还是有其他方法可以覆盖某个目录的默认 .gitconfig ? 就我而言,我在 ~/worksrc/ 签出所有工作代码-有没有一种方法可以仅为该目录(及其子目录)指定 .gitconfig ? #1楼 或者,您可以在本地 .git/config 文件中添加以下信息 [user] name = Your Name email = your.email@gmail.com #2楼 从 Orr Sella的博客文章中 获得一些启发 后, 我编写了一个预提交钩子(位于 ~/.git/templates/hooks ),该 ~/.git/templates/hooks 将根据本地存储库 ./.git/config 的信息设置特定的用户名和电子邮件地址。 ./.git/config : 您必须将模板目录的路径放入 ~/.gitconfig

Passport && JWT

泪湿孤枕 提交于 2019-12-21 03:30:37
Passport是一个Node.js中间件,它提供了易于实现的各种不同的请求身份验证策略。默认情况下,它将用户对象存储在会话中。 前面的课程中 通过passport进行了本地验证 ,接下来 通过passport增加jwt策略对跨域请求的token进行验证。 首先安装依赖: npm install -- save koa - passport (已安装的忽略) npm install -- save passport - jwt npm install -- save jsonwebtoken 流程: 当用户登录时,后端会创建签名令牌并将其作为响应返回 客户端在本地保存令牌(通常在localStorage中),并在每个需要身份验证的后续请求中将其发回 所有需要身份验证的请求都会通过中间件检查提供的令牌,并且只有在验证令牌时才允许请求 登陆时生成token: 在passport.js中添加jwt认证策略 登陆后解析token: passport.authenticate(‘jwt’, { session: false }) 参考:老师的课件 来源: CSDN 作者: Dwell_hls 链接: https://blog.csdn.net/weixin_42554191/article/details/103616127

laravel Passport 使用要点记录

左心房为你撑大大i 提交于 2019-12-18 20:41:02
安装 composer require laravel/passport 运行迁移 php artisan migrate 创建访问令牌 [个人访问] 客户端和 [密码授权] 客户端 php artisan passport:install 单独创建 密码授权 客户端 php artisan passport:client --password 单独创建 个人访问 客户端 php artisan passport:client --client 模型中使用 在模型中加入 HasApiTokens Trait class User extends Authenticatable { use HasApiTokens, Notifiable; } 生成 Passport 生成访问令牌所需的秘钥(大白话:每生成一个令牌都要使用到它) 生成的秘钥一般情况不应放在版本控制中,默认生成的文件存放在 storage 目录下 php artisan passport:keys 令牌的有限期配置 在 AuthServiceProvider 中配置 public function boot() { $this->registerPolicies(); Passport::routes(); // 配置 令牌 失效时间 Passport::tokensExpireIn(now()->addDays(15

The volume My Passport is not re-mountable in read/write mode. Probably it was not clean unmounted b

我与影子孤独终老i 提交于 2019-12-12 05:05:50
The volume My Passport is not re-mountable in read/write mode. Probably it was not clean unmounted before. 解决方案 : 方案一 : 找个windows系统, 将移动硬盘插入, 然后通过点击, 安全删除的方式退出硬盘(而不是直接拔掉) 再接入Mac, 使用Mounty软件mount, 问题解决 方案二 : 1. 插入移动硬盘到win下面 2 .打开dos命令行。输入 chkdsk /f ,然后回车 3. Y 4. 拔出移动硬盘记得使用右下角的安全删除 再次插入Mac, 问题解决 方案三 : 升级Mounty软件版本到最新版本 来源: CSDN 作者: hcgeng 链接: https://blog.csdn.net/hcgeng/article/details/103501151

百度/小米/滴滴/京东,中台架构比较

陌路散爱 提交于 2019-12-06 04:33:03
小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。 通过中台架构方法论和规划方法论,小米信息部提出了小米业务中台建设三年战略,包含了持续优化、构建中以及待新建的系统,纵向分为企业战略、业务执行、业务支撑、数据治理四部分。在2018年成立时,系统还是比较分散的;在2019年,主要围绕中台的架构调整、技术体系下沉,强化运营配置中心三方面,实现绝大多数的共享服务,让小米复杂的业态共享一套体系,更好的支持业务;在2020年,期望整体完善,不断的持续优化。 数据中台--数字化转型的核心 今天大家都在谈数字化转型,数字化转型是转什么?从企业内部来讲,是想如何把一切都数字化,大企业讲数字化转型是很难的一件事情,但现在有些小企业已经做得非常好。系统很简单,但是可以把企业的百十家或者几百家店铺的每一个动作、每一次上下架,甚至是每次的价格变更,每个操作人员的动作,都放到系统里面做记录。 数字化转型,业务是基础,核心是数据。在数据分析及使用过程中,小米主要面临3大问题

【laravel5.5+Passport】laravel5的前后端分离之Passport设计

。_饼干妹妹 提交于 2019-12-05 19:03:47
项目中使用到了laravel5的passport组件,进行前后端分离的 api认证部分 1、官方文档:https://learnku.com/docs/laravel/5.5/passport/1309#personal-access-tokens 2、社区推荐文章:https://learnku.com/articles/6976/laravel-55-uses-passport-to-implement-auth-authentication#reply118969 (推荐) 3、错误解决文章:https://cloud.tencent.com/developer/ask/199607 4、目的,实现前后端分离api的token认证。 5、其实我个人认为 api认证这块没有第三方没必要用passport,jwt或者自定义token都可以,因为passport主要用于oauth2,也就是三方交互,而单纯的前后端分离 只有两方。 6、按照步骤2来基本不会又问题,下面贴几个要点: 1)Guzzle\http的client只能是ajax/axios访问,你浏览器窗口访问是不行滴(postman搞起) 2)username不是users表的username字段,默认是users的email字段,当然你可以修改部分passport源码 3)users表的password必须是默认的hash

Koa2 权限认证中间件-----Passport

不羁岁月 提交于 2019-12-05 16:18:47
Koa集成权限认证中间件之Passport 前言 你还在为koa2的权限管理问题烦恼吗?那么这篇文章你解决的忧愁!!! 对于express框架的权限框架passport大家可能不陌生,但是koa2的权限管理中间件缺很少, 尤其是最2.0版本以上Koa,其生态目前完全出于一个起步阶段,对比目前express大量稳定可用的中间件,的确是有许多的不足。但是开源的力量永远是最强大的,只要有需求,就一定有解决方案,这时就诞生了 koa-passport 思路 1、对于passport中间件的官方只是提供了对express的支持。但是相对应的,koa也有其对应的开源集成版本——【 koa-passport 】 2、 koa-passport本质上并非全新实现的另外一个版本的passport,它仅仅只是作为中间件,将原先passport对express的支持,转移到了koa上。 通过分析其源码可以看出,它其实是将原先绑定在express的req和res中的API方法,重新绑定到了koa的ctx中 3、让人吐槽的地方是koa-passport的官方文档很详细的使用方法和说明, 直接使用官方提供的demo :koa-passport-example项目,如果不加以修改,是无法完成认证功能的, 虽然是google和baidu了大量资料,但是很遗憾,目前似乎并没有太多关于这两者的集成文章