macOS 使用命令(networksetup)设置 PAC 代理 作者: Chuwen 时间: 2022-10-14 分类: macOS 评论 因为手动在网络设置里,设置的 PAC ![macOS - 设置 - 网络 - 代理 - 自动代理配置](https://cdn.nowtime.cc/2022/10/14/2421697647.png) 可能会因为其它软件给关掉,如 ClashX 设置为系统代理替换掉 ![ClashX 设置为系统代理](https://cdn.nowtime.cc/2022/10/14/681989366.png) 然后自己手动替换又比较麻烦,所以想着用命令去替换一下 ## 解决方案 所以在网上找到了一篇问答 [https://apple.stackexchange.com/a/166443](https://apple.stackexchange.com/a/166443 "https://apple.stackexchange.com/a/166443"),使用 `networksetup -setautoproxyurl` 命令即可 ### networksetup -setautoproxyurl 语法如下 ```shell networksetup -setautoproxyurl ``` #### 问题 1:怎么拿到 `` ? 可以通过 `networksetup -listallnetworkservices` 命令拿到(只是猜测,因为我的是黑苹果,并且是有以太网网卡) ![执行 networksetup -listallnetworkservices 得到的结果 - 拿到所有网络服务名](https://cdn.nowtime.cc/2022/10/14/245596886.png) #### 示例 1 给以太网网卡设置 PAC 地址 ```shell networksetup -setautoproxyurl "Ethernet" "http://192.168.30.87/autoproxy.pac" ``` 然后检查下设置状态 : ```shell networksetup -getautoproxyurl "Ethernet" ``` ![执行 networksetup -getautoproxyurl Ethernet 命令结果](https://cdn.nowtime.cc/2022/10/14/3672159431.png)
Laravel 根据 Session ID 获取相关值 作者: Chuwen 时间: 2022-10-10 分类: Laravel 评论 ## 背景 - 「A 系统」域名 `admin.xxxx.com` - 使用的是 Dcat Admin,Session 身份认证 - 「A1 系统」域名 `api.sass.com` - 使用 JWT 身份认证 因为项目有个需求,需要从「A 系统」访问「A1 系统」,实际上是「A 系统」生成 JWT 传递给「A1 系统」,JWT 格式如下: > 使用 `sub` 标记是谁生成的,让「A1 系统」能够进行判断 ![](https://cdn.nowtime.cc/2022/10/10/3948634876.png) 需要实现「A 系统」退出登录,「A1 系统」的 JWT 信息就不能通过认证 因为这 2 个系统是共用一套代码的,所以想到了使用 `Session ID` 写入 JWT `payload` 中,然后「A1 系统」拿到 `Session ID` 去校验 ## 实现 ### 拿到 Laravel Session ID 「A 系统」通过 `Illuminate\Support\Facades\Session::getId()` 拿到长度为 40 的 `Session ID`,生成 JWT 传递给「A1 系统」使用 ![](https://cdn.nowtime.cc/2022/10/10/3680874563.png) ### 「A1 系统」校验 Session ID 是否存在 示例代码如下: ```php // 这里实际需要替换为从 JWT 解析,拿到 `session_id` 字段 $sessionId = ''; $data = Illuminate\Support\Facades\Session::getHandler()->read($sessionId); if(empty($data)){ // TODO: SessionID 不存在,请检查 } ```