【发布时间】:2021-02-27 07:47:50
【问题描述】:
我有一个类,它有两种生成和解码jsonwebtokens 的方法。这就是类的样子。
interface IVerified {
id: string
email?: string
data?: any
}
export default class TokenProvider implements ITokenProvider {
public async generateToken({ id, email }: ITokenDetails): Promise<string> {
return sign({ id, email }, CONFIG.JWT.secret, {
subject: id,
expiresIn: CONFIG.JWT.expires,
})
}
public async decodeToken(token: string): Promise<IVerified> {
const user = verify(token, CONFIG.JWT.secret)
return user as IVerified
}
}
在decodeToken 方法中,正如您从上面所见,它接受一个令牌,旨在返回嵌入在令牌中的解码值。但是 vscode Intellisense 显示jwt.verify() 方法返回一个string | object。如何覆盖它以强制该方法返回一些用户属性?我不想得到string | object,而是想返回上面提到的IVerified 接口描述的属性。任何帮助表示赞赏!非常感谢。
【问题讨论】:
-
您是否在某处实现
interface?尝试将其转换为Type
标签: javascript node.js typescript express