@dazejs/jwt-provider
v2.0.0
Published
json web token service for dazejs
Downloads
8
Readme
Jwt Provider
基于 Daze.js 的 jwt 扩展
安装
$ npm i --save @dazejs/jwt-provider
使用
首先在 /src/config/app.ts
将提供者注册到框架中:
import { JwtServiceProvider } from '@dazejs/jwt-provider';
export default {
// ...
providers: [
// ...
JwtServiceProvider.configure({
secret: 'hard!to-guess_secret',
privateKey: '...',
publicKey: '...',
algorithm: 'HS256',
})
]
}
configure
方法用来配置 JwtServiceProvider
, 参数支持:
secret
:HMAC
/PEM
加密需要配置该参数publicKey
/privateKey
:RSA
/ECDSA
加密所需的公钥和私钥algorithm
: 默认所使用的加密算法,详细可以查看crypto
使用 @inject
进行注入即可使用
import { Controller, route, http, inject } from '@dazejs/framework'
import { Jwt } from '@dazejs/jwt-provider'
@route('users')
export class User extends Controller {
@inject() jwt: Jwt;
// get /users
@http.het()
index() {
const token = this.jwt.sign({
uid: 1
})
return token
}
}
Jwt
Jwt
是基于 jsonwebtoken 实现的
sign(payload: string | Object | Buffer, options?: SignOption): string
该方法基于 jsonwebtoken
的 sign
方法实现
verify(token: string, options?: VerifyOption): any
该方法基于 jsonwebtoken
的 verify
方法实现
decode(token: string, options: DecodeOptions): object | string
该方法基于 jsonwebtoken
的 decode
方法实现