@@ -30,26 +30,28 @@ $ php think jwt:make
3030<?php
3131
3232return [
33- 'default' => 'admin',
34- 'apps' => [
33+ 'stores' => [
3534 'admin' => [
35+ 'sso' => [
36+ 'enable' => false,
37+ ],
3638 'token' => [
37- 'uniqidKey' => 'uid',
38- 'signerKey ' => '',
39- 'notBefore ' => 0,
40- 'expiresAt ' => 3600,
41- 'refreshTTL ' => 7200,
39+ 'unique_id_key' => 'uid',
40+ 'signer_key ' => 'tant ',
41+ 'not_before ' => 0,
42+ 'expires_at ' => 3600,
43+ 'refresh_ttL ' => 7200,
4244 'signer' => 'Lcobucci\JWT\Signer\Hmac\Sha256',
4345 'type' => 'Header',
44- 'refresh ' => 50001,
45- 'relogin ' => 50002,
46- 'iss' => '',
47- 'aud' => '',
48- 'automaticRenewal ' => false,
46+ 'relogin_code ' => 50001,
47+ 'refresh_code ' => 50002,
48+ 'iss' => 'client.tant ',
49+ 'aud' => 'server.tant ',
50+ 'automatic_renewal ' => false,
4951 ],
5052 'user' => [
5153 'bind' => false,
52- 'model ' => '' ,
54+ 'class ' => null ,
5355 ]
5456 ]
5557 ],
@@ -65,49 +67,42 @@ return [
6567
6668```
6769## token
68- * ` uniqidKey ` 用户唯一标识
69- * ` signerKey ` 密钥
70- * ` notBefore ` 时间前不能使用 默认生成后直接使用
71- * ` expiresAt ` Token有效期(秒)
70+ * ` unique_id_key ` 用户唯一标识
71+ * ` signer_key ` 密钥
72+ * ` not_before ` 时间前不能使用 默认生成后直接使用
73+ * ` refresh_ttL ` Token有效期(秒)
7274* ` signer ` 加密算法
7375* ` type ` 获取 Token 途径
74- * ` refresh ` Token过期抛异常code = 50001
75- * ` relogin ` Token失效异常code = 50002
76- * ` automaticRenewal ` [ 开启过期自动续签] ( #过期自动续签 )
76+ * ` relogin_code ` Token过期抛异常code = 50001
77+ * ` refresh_code ` Token失效异常code = 50002
78+ * ` automatic_renewal ` [ 开启过期自动续签] ( #过期自动续签 )
7779
7880## user
7981* ` bind ` 是否注入用户模型(中间件有效)
80- * ` model ` 用户模型文件
82+ * ` class ` 用户模型类文件
8183
82- ## blacklist
83- * ` cacheKey ` 黑名单缓存key
84+ ## manager
85+ * ` prefix ` 缓存前缀
86+ * ` blacklist ` 黑名单缓存名
87+ * ` whitelist ` 白名单缓存名
8488
8589以下两个异常都会抛一个HTTP异常 StatusCode = 401
8690* ` xiaodi\Exception\HasLoggedException `
8791* ` xiaodi\Exception\TokenAlreadyEexpired `
8892
8993## Token 生成
9094``` php
95+ namespace app\home\controller\Auth;
96+
9197use xiaodi\JWTAuth\Facade\Jwt;
9298
9399public function login()
94100{
95101 //...登录判断逻辑
96102
97- // 默认应用
103+ // 自动获取当前应用下的jwt配置
98104 return json([
99105 'token' => Jwt::token(['uid' => 1]),
100- 'token_type' => Jwt::type(),
101- 'expires_in' => Jwt::ttl(),
102- 'refresh_in' => Jwt::refreshTTL()
103- ]);
104-
105- // 指定应用
106- return json([
107- 'token' => Jwt::store('wechat')->token(['uid' => 1]),
108- 'token_type' => Jwt::type(),
109- 'expires_in' => Jwt::ttl(),
110- 'refresh_in' => Jwt::refreshTTL()
111106 ]);
112107}
113108```
@@ -124,20 +119,12 @@ class User {
124119
125120 public function test()
126121 {
127- try {
128- // 默认应用
129- Jwt::verify($token);
130-
131- // 指定应用
132- // Jwt::store('wechat')->verify($token);
133- } catch (HasLoggedException $e) {
134- // 已在其它终端登录
135- } catch (TokenAlreadyEexpired $e) {
136- // Token已过期
122+ if (true === Jwt::verify($token)) {
123+ // 验证成功
137124 }
138125
139126 // 验证成功
140- // 如 开启用户注入功能 可获取当前用户信息
127+ // 如配置用户模型文件 可获取当前用户信息
141128 dump(Jwt::user());
142129 }
143130}
@@ -148,11 +135,7 @@ class User {
148135``` php
149136use xiaodi\JWTAuth\Middleware\Jwt;
150137
151- // 默认应用
152138Route::get('/hello', 'index/index')->middleware(Jwt::class);
153-
154- // 指定应用
155- Route::get('/hello', 'index/index')->middleware(Jwt::class, 'wechat');
156139```
157140
158141## Token 自动获取
0 commit comments