Jose4j позаботится о переносе подписывающего ключа Azure автоматически? - PullRequest
0 голосов
/ 05 июля 2019

Я реализую jose4j в своем приложении Java, чтобы проверить подпись токена доступа, выданного Azure.Приложение работает нормально, однако я натолкнулся на эту документацию о Rollover Signing Key .Jose4j позаботится об этом автоматически при использовании HttpsJwksVerificationKeyResolver?

В настоящее время я использую следующий фрагмент для создания JwtConsumer

String azureKeyDiscoveryUrl =
                "https://login.microsoftonline.com/{my-tenant-id}/discovery/keys";
HttpsJwks azureKeyDiscovery = new HttpsJwks(azureKeyDiscoveryUrl);

HttpsJwksVerificationKeyResolver azureJwksKeyResolver = new HttpsJwksVerificationKeyResolver(azureKeyDiscovery);

JwtConsumer azureJwtConsumer = new JwtConsumerBuilder()
                .setRequireExpirationTime()
                .setAllowedClockSkewInSeconds(30)
                .setRequireIssuedAt()
                .setRequireNotBefore()
                .setVerificationKeyResolver(azureJwksKeyResolver)
                .setExpectedAudience("my-audience")
                .setJwsAlgorithmConstraints(new AlgorithmConstraints(
                        AlgorithmConstraints.ConstraintType.WHITELIST, AlgorithmIdentifiers.RSA_USING_SHA256))
                .build();
JwtClaims claims = azureJwtConsumer.processToClaims("tokenStringHere");

1 Ответ

0 голосов
/ 05 июля 2019

Да, при условии, что Azure делает правильные / разумные действия с конечной точкой https://login.microsoftonline.com/{my-tenant-id}/discovery/keys, что, я думаю, они делают, это сработает.

...