如何验证从 Cognito 获得的 jwt 令牌

cap*_*der 7 java amazon-web-services jwt spring-boot aws-cognito

我有一个 jwt 令牌,我在用户登录后从 cognito 中检索到了该令牌。

我的应用程序中有一个特定的 api 端点,我只希望拥有有效 jwt 的用户能够访问该端点。我试图查看网络上的各种资源,但我什么也看不懂。我是 jwt 概念的新手。

PS 我有一个 Java 应用程序(spring boot)。如果有人能详细描述我需要遵循的步骤来验证我的 jwt,我将不胜感激。如果可能,请提供代码。

@CrossOrigin
@RequestMapping(value= "/login", method=RequestMethod.POST,consumes="application/json")
@ResponseBody
public String authenticate(@RequestBody SignInDTO signInDetails)
{
    //boolean isAuthenticated=false;
        CognitoHelper cognitoHelper=new CognitoHelper();
        String authResult=cognitoHelper.ValidateUser(signInDetails.getEmailId(), signInDetails.getPassword());
.....
.....
.....
Run Code Online (Sandbox Code Playgroud)

authResult 是我从 cognito 获得的 jwt。在此之后,我完全不知道需要做什么。

Vla*_*mir -2

以下是验证令牌的方法(用 Kotlin 编写)。

这是密钥所在的位置:

https://cognito-idp .$regionName.amazonaws.com/$cognitoUserPoolId/.well-known/jwks.json

我在这里实现了很多: https: //github.com/awslabs/cognito-proxy-rest-service