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。在此之后,我完全不知道需要做什么。
小智 10
Spring Security 5.1 引入了对此的支持,因此实现起来要容易得多。见https://docs.spring.io/spring-security/site/docs/current/reference/html/jc.html#oauth2resourceserver
基本上:
https://cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>Vla*_*mir -2
以下是验证令牌的方法(用 Kotlin 编写)。
这是密钥所在的位置:
https://cognito-idp .$regionName.amazonaws.com/$cognitoUserPoolId/.well-known/jwks.json
我在这里实现了很多: https: //github.com/awslabs/cognito-proxy-rest-service
| 归档时间: |
|
| 查看次数: |
7127 次 |
| 最近记录: |