【发布时间】:2021-01-19 01:55:00
【问题描述】:
我在授权中使用 jwt 令牌发送请求。我需要以某种方式获取它,我尝试过这种方式:
@GetMapping
fun getUser(@AuthenticationPrincipal jwt: Jwt<*, *>): ResponseEntity<UserDto?> {
val allClaimsFromToken: Claims? = getAllClaimsFromToken(jwt.toString());
val userNameFromJwtToken: Any? = allClaimsFromToken?.get("sub");
....
}
不幸的是,我总是将 null 作为 jwt 变量。你能告诉我我做错了什么吗?
【问题讨论】:
-
我猜第一个问题是你是如何收到令牌的?您使用的是 Spring Security OAuth2 吗?或者它只是一个被传递的标题?
-
@ced-b 它只是邮递员中授权字段的标题
-
好了,就这么简单,JWT 用的是什么库?
-
@ced-b 使用 jjwt
-
好的,请看下文,如果有帮助请告诉我。