Constructor
new Jwt(client)
JWT model的构造函数
- Source:
Parameters:
Name | Type | Description |
---|---|---|
client |
redis.RedisClient
|
redis 客户端 |
Methods
(async) getSecretKey() → {Promise.<Buffer>}
从Redis中获取全局的SecretKey,程序启动时会检查是否存在全局的SecretKey,如果不存在 创建随机的SecretKey并存与Redis。
- Source:
Returns:
- Type:
-
Promise.<Buffer>
SecretKey
(async) revoke(uid, jti) → {Promise.<void>}
撤回用户的某个或所有的JWT
- Source:
Parameters:
Name | Type | Description |
---|---|---|
uid |
string
|
用户的id |
jti |
string
|
optional,JWT的id,如果缺省,撤回所有改用户的JWT |
Returns:
- Type:
-
Promise.<void>
setSecretKey(secretKey) → {Promise.<void>}
保存secretKey
Redis数据库中
- Source:
Parameters:
Name | Type | Description |
---|---|---|
secretKey |
Buffer
|
应当是256字节的随机字符串 |
Returns:
- Type:
-
Promise.<void>
(async) sign(payload, options) → {Promise.<string>}
签名,其中payload应当包含uid
表示用户的ID,而options
中应该包含expiresIn
表示签名的有效期。
- Source:
Parameters:
Name | Type | Description |
---|---|---|
payload |
object
|
JWT的内容,可以包含uid和role |
options |
object
|
Returns:
- Type:
-
Promise.<string>
生成的jwt
(async) verify(token) → {Promise.<object>}
验证JWT,正确返回payload,否则抛出对应的异常
- Source:
Parameters:
Name | Type | Description |
---|---|---|
token |
string
|
JWT |
Returns:
- Type:
-
Promise.<object>
返回JWT的payload