問題タブ [nimbus-jose-jwt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1909 参照

spring - 2.3.6.RELEASE から 2.4.0 への Spring Boot の移行と json ClassCastException

SpringBoot バージョン 2.3.6.RELEASE に依存する Java プロジェクトがあります。しかし、バージョン 2.4.0 にアップグレードしようとして困っています。プロジェクトでは他に何も変更されておらず、SpringBoot のバージョンのみが変更されました。それ以降、アプリケーションは次のエラー メッセージをスローします。

Maven 依存関係ツリー ( mvn dependency:tree) の比較を行ったところ、おそらくいくつかの重要な変更がnimbus-jose-jwtおよびjson-smartライブラリに対して行われていることがわかりました。

2.3.6.リリース

2.4.0

上記のように、nimbus-jose-jwtが 8.19 から 9.1.2 に更新されました。さらに、json-smartは 2.4.0 のnimbus-jose-jwt の一部ではなくなりました。

根本的な原因はおそらくこの変更ですhttps://connect2id.com/blog/nimbus-jose-jwt-9 しかし、この例外を防ぐために何をすべきでしょうか?

0 投票する
1 に答える
210 参照

java - Nimbus リアクティブ JWT デコーダー "NimbusReactiveJwtDecoder.withJwkSetUri()" は、負荷分散された URL lb:// のホストを解決できません

リソースサーバーでキークロークの証明書URLから公開鍵を動的に取得しようとしています。URL は負荷分散されていますが (lb://app-auth/...)、ニンバスはホストを解決できません。

正確なURLでテストしてキーを返したので、URLが正しいと確信しています。

エラーログ:

リソース サーバー構成:

負荷分散された URL を持つことさえ可能ですか? もしそうなら、どうすればこれを達成できますか?

0 投票する
1 に答える
370 参照

java - Java で JWK を解析できません

パッケージを使用して、特定の keyId の公開鍵を JWK 形式で返す REST 認証サーバーを実装しましたcom.nimbusds:nimbus-jose-jwt:9.13。コードは次のようになります。

このコードは、次の形式で JWK キーを返します。

クライアント側 (Java) で、次のコードを使用して jwk を解析しようとします。

parseただし、 が例外をスローするため、クライアントはキーを解析できません( Missing parameter "kty")。メインの JWT josn 本体にキーがJWK.parse必要ですが、デフォルトのシリアル化ではキーがキー内に埋め込まれます。試してみると、メインのjson本体にキーが表示されます。ktyJWKktyrequiredParamsjwk.toString()kty

ネイティブ JWK オブジェクトのシリアル化/逆シリアル化が単純な方法で機能しないのはなぜですか? カスタム jwt 構造またはシリアライザー/デシリアライザーを実装せずにこれを修正する最良の方法は何でしょうか?

更新 1 : このコードは、戻り値の型JWKMap<String, Object>orに変更Stringし、クライアント側で逆シリアル化を処理する場合に機能します。ただし、パッケージがネイティブに (デ) シリアル化を行う方がよいでしょう。