在spring引导routerfunction中读取jwt令牌

svdrlsy4  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(210)

在spring引导控制器实现中,我们可以得到 JwtAuthenticationToken 作为我们方法中的一个参数。可以读取、操纵和验证相同的令牌,以进行如下授权

@PostMapping("/hello")
@PreAuthorize("hasAuthority('SCOPE_Internal') or hasAuthority('ROLE_User')")
public Mono<String> testHello(JwtAuthenticationToken token) {
    log.info("token is " + token.getTokenAttributes().toString());
    return Mono.just("OK");
}

我们使用的是React式spring引导,我们用routerfunction替换了控制器。我们想知道如何在我们的路由器方法调用中实现上述功能-授权和获取令牌。

public RouterFunction<ServerResponse> route() {
    return RouterFunctions.route(GET("/hello"), helloHandler::testHello);
}

当我们试图通过 JwtAuthenticationToken 在路由器方法调用中,它抛出
无法自动连线。未找到“jwtauthenticationtoken”类型的bean。

public RouterFunction<ServerResponse> route(JwtAuthenticationToken jwtAuthenticationToken) {
    return RouterFunctions.route(GET("/hello"), helloHandler::testHello);
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题