gpt4 book ai didi

java - 使用 JAVA 更快地验证 Cognito JWT token 的方法

转载 作者:行者123 更新时间:2023-12-02 03:35:53 24 4
gpt4 key购买 nike

我目前正在执行以下操作

String region = "us-east-1";
String poolID = "us-east-1_whatever";

public Boolean valid() {
try {
String cognitoUrl = String.format("https://cognito-idp.%s.amazonaws.com/%s/.well-known/jwks.json", region, poolID);
JwkProvider provider = new UrlJwkProvider(new URL(cognitoUrl));
// got the value from the cognito url
Jwk jwk = provider.get("value");
RSAPublicKey publicKey = (RSAPublicKey) jwk.getPublicKey();
Algorithm algorithm = Algorithm.RSA256(publicKey, null);
String iss = String.format("https://cognito-idp.%s.amazonaws.com/%s", region, poolID);
JWTVerifier verifier = JWT.require(algorithm).withIssuer(iss).build();
verifier.verify(token);

} catch (Exception err) {
return false;
}
return true;
}

但看起来很滞后。如何更快地验证 token ?我正在使用

compile group: 'com.auth0', name: 'jwks-rsa', version: '0.3.0'
compile 'com.auth0:java-jwt:3.8.1'

最佳答案

亚马逊建议每次都使用众所周知的 JWKS URL,如其 Support Repository 中所述。 .

不建议使用缓存,因为该值可能会发生变化。因此,我建议继续您当前的方法,以确保相同的功能和最佳的安全性。

关于java - 使用 JAVA 更快地验证 Cognito JWT token 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56861498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com