我有一个 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。在此之后,我完全不知道需要做什么。
首先,我知道没有文件夹这样的东西,但是,我使用这个术语只是为了简单起见。现在我的存储桶中有很多对象。对于某些文件夹,我可以使用 getObject 来查找它们是否存在,但是对于大多数文件夹,当我清楚地看到它们存在时,我会收到错误 No such key。我还想说,我已经尝试过 headObject、listObjectV2,但没有运气。
this is my params object
{
Bucket: bucket //bucket is defined in the program
Key: folder // defined in the program above
//example key - abc-1-1/00000N/30/2018.10.7.8/
//inside this folder are multiple files
}
Run Code Online (Sandbox Code Playgroud)
目标是查找文件夹是否存在,并基于此进行一些处理。我看到这个问题的很多答案都暗示了 headObject、getObjects 等,但它们似乎都不起作用
这是我的 getObjects 代码片段
params = {
Bucket: bucket,
Key: folder
}
s3.getObject(params, function (err, found) {
if (err){
console.log('bucket is'+bucket);
..........
.....
}
else{
....
}
..
});
Run Code Online (Sandbox Code Playgroud)