0
にログインしていることを確認します。AWS Cognitoと通信するためにJavaをバックエンドとして使用しています。私はログイン、ログアウト、ユーザーの作成、サインアウトなどの機能を利用できます。私はまた、linkにアクセストークンを確認することができます:ユーザがaws cognito、JAVA
しかし、私はユーザーがログインしているかどうかを確認したいと思います。 JAVAでは、ブール値を返すisLoggedin()関数がありますか、トークンが取り消されているかどうかを確認する方法はありますか?これらの機能はAndroidとiOSに存在しますが、Javaについてはどうでしょうか。
私は、トークンが有効であれば、これは検証しますが、トークンが適切なフォーマットである場合にのみ確認すると思った:
// This parses token to JWT.
JWT jwtparser = JWTParser.parse(accessToken);
String JWTissuer = jwtparser.getJWTClaimsSet().getIssuer();
JWSHeader header = (JWSHeader) jwtparser.getHeader();
Object token_use = jwtparser.getJWTClaimsSet().getClaim("token_use");
Object exp = jwtparser.getJWTClaimsSet().getClaim("iat");
Date expirationDate = jwtparser.getJWTClaimsSet().getExpirationTime();
// Read in JSON Key file saved somewhere safe
File file = new File("jwks.json");
String content = FileUtils.readFileToString(file, "utf-8");
JSONObject JsonObjects = new JSONObject(content);
JSONArray keysArray = JsonObjects.getJSONArray("keys");
JSONObject keyString = (JSONObject) keysArray.get(1);
if (header.getKeyID().equals(keyString.get("kid")) && token_use.toString().equals("access") && JWTissuer.equals("https://cognito-idp.us-west-2.amazonaws.com/us-west-2_xxxxxxx")) {
return true;
} else { return false; }
私はユーザーがログインしているかどうかを確認したい、私は見つかっていません。そうする適切な方法。
マハロ
ようこそSO、あなたがこの問題を解決しようとしたいくつかのコードまたは少なくともアプローチを提供してくださいします。 –