thinkphpjwt(thinkphpjwt类库)
PHP实现苹果第三方授权登录
一、先获取apple的公钥
获取Apple公钥访问地址:
得到以下的格式
取Apple公钥,key数组里面任意一个,例如
二 获取解密的字符串
通过Apple公钥在线( )得到用于解密的pem公钥字符串
复制公钥粘贴到输入框,提交,得到公钥
三 校验
校验客户端传过来的$identityToken,通过jwt校验
yii-jwt 怎么玩
工具/原料
Yii
PhpStudy
方法/步骤
下载yii,打开yii官网,找到你要下载的内容
再安装php环境,这里列出我用的PHPstudy.图中介绍安装
下载完的yii放在www文件夹下
4
打开\framework下面 yiic.bat运行这个文件创建的应用,或者 在www目录下新建index.php 其内容:
?php
// change the following paths if necessary
$yii=dirname(__FILE__).'/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
// remove the following line when in production mode
// defined('YII_DEBUG') or define('YII_DEBUG',true);
require_once($yii);
Yii::createWebApplication($config)-run();
?
加载框架
打开 : 本地浏览就可以看到你安装成功了
Thinkphp5.1 使用jwt生成和解析token 一 2021-04-01
一 通过Composer安装firebase/php-jwt 5.2.1版本
二 common.php公共函数文件
PHP---APP接口02
JSONXML
XML: 是一种标记语言,设计的宗旨是传输数据
JSON: 轻量级的数据交换格式
APP接口主要是用JSON输出格式
APP接口输出格式三要素:
1. code::错误码
2. msg:错误码对应的描述
3. data:接口返回的数据
谁有权限调用APP接口,客户端需要带着凭证来调用APP接口
JWT的原理:
服务端认证之后,生成一个JSON对象,返回给用户。后续客户端所有请求都会带上这个JSON对象。服务端依靠这个JSON对象来认定用户身份。
组成: Header, Payload, Signature
1. Header
说一下我是什么
header通常包含了两部分:类型和加密算法
{
? ? "alg": "HS256",
? ? "typ": "JWT"
}
header需要经过Base64Url编码后作为IWT的第一部分。
2. Payload
payload包含了claim, 三种类型reserved, public, private
reserved这些claim是JWT预先定义的,不强制使用,常用的有:
1). iss: 签发者
2). exp: 过期的时间戳
3). sub: 面向的用户
4). aud: 接收方
5). iat: 签发时间
{
? ? "sub":? "1234567890",
? ? "name":? "John Doe",
? ? "admin": true
}
payload需要经过Base64Url编码后作为JWT的第二部分。
3. Signature
创建签名使用编码后的header和payload以及一个密匙,使用header中指定的签名算法进行签名
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)
签名是在服务端进行的,客户端并不知道,所以是安全的。
thinkphp验证码(支持图片和base64)
配置
config文件夹下新建captcha.php 加入配置信息
调用加密并生成验证码(在thinkphp的验证码基础上修改的)
调用解密
加密包 firebase/php-jwt
原插件地址