問題タブ [jose4j]

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 に答える
28490 参照

java - 暗号化と署名が有効な場合の JWT のパーサー例外

私は JWT を初めて使用し、スタンドアロン コードを通じて JWT API を理解することを学んでいます。以下のコードは、送信側の JWT トークンに署名して暗号化し、受信側で検証されます。

ライブラリ: JOSE 0.4.1

}

このプログラムの実行時に以下の例外を観察します。

署名付き JWT

暗号化された JWT

同じコードが署名と暗号化のために別々に実行されますが、両方を含めると実行されませんでした。

私が間違っていることを理解するのを手伝ってください。

前もって感謝します

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

java - jose4j JwtConsumer の検証キー

jose4j を使用して JWT を検証および処理しています。JWT は次のようになり、JWT ホームページでの検証に合格します。 ここに画像の説明を入力

ただし、jose4j Java ライブラリを使用して同じことを行うことはできません。例外は、設定した検証キーについて不平を言います。しかし、ライブラリには多くの種類のキーが定義されており、それらを試してみましたが、うまくいきませんでした。コードは次のとおりです。

どんな助けでも大歓迎です。

0 投票する
3 に答える
16203 参照

java - jose4jのJWTで使用するためにシークレット文字列からHMAC_SHA256キーを作成する方法は?

JWT を作成し、HMAC_SHA256 で署名したいと考えています。そのタスクには、jose4jを使用する必要があります。私は秘密に基づいて鍵を生成しようとしました:

ただし、HMAC_SHA256 を使用した署名には 512 ビットのキーが必要ですが、40 ビットのキーが生成されます。

  • 主な問題 - jose4j を使用して HMAC_SHA512 でトークンに署名する方法は?
  • 上記の問題を解決する私のアプローチによって作成された問題 - 秘密文字列に基づいて 512 ビット長の秘密鍵を作成する方法は?
0 投票する
1 に答える
4550 参照

jwt - JWKs エンドポイントを使用して JWT トークンを処理する

OpenID Connect ID トークン (id_token) とアクセス トークン (access_token) の 2 つの JWT を受け取ります。OpenID の状況は多かれ少なかれ明確です。JWKS エンドポイントを使用して検証できます: https://smth.com/JWKS

例のように ( https://bitbucket.org/b_c/jose4j/wiki/JWT%20Examples ):

問題は、アクセス トークンをどのように処理するかです。そこから userId と userDetails を抽出できますが、それを検証する必要もあると思いますか?

ID トークンと同じようにアクセス トークンを検証しようとすると、次のエラーが発生します。

UnresolvableKeyException: ヘッダー {"alg" : "RS256", "kid":"1"} を持つ JWS の適切な検証キーが見つかりません

実際、 のキーはありません"kid" : "1"。また、この値"1"はちょっと奇妙に思えますか?

私は何か完全に間違っていますか?

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

javascript - jose4j によって生成されたトークンで node.js の jsonwebtoken を使用して JWT を検証すると失敗する

node.js で jsonwebtoken を使用して jose4j によって生成された json Web トークンを検証しようとすると、次のエラーが表示されます。

[エラー: PEM_read_bio_PUBKEY が失敗しました]

jose4j コードは、基本的に例からそのまま引用されています。

したがって、トークンは内部的に正常に検証されます。ただし、トークンとキーをコピーすると (たとえば、以下は実行から)、上記のエラーが報告されます。

生成されたトークンを公開鍵で検証できるようにする (jose4j または jsonwebtoken のいずれかで) 不足している魔法はありますか?

ちなみに、トークンを jwt.io に貼り付けると、ヘッダーとペイロードが正しくデコードされますが、同じ公開鍵を使用して署名を検証することはできません。問題は本当に jose4j 側にあると思いますが、よくわかりません。

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

jwt - Jose4j ライブラリの Java 6 との互換性

JSON Web Tokens を生成して利用するためのライブラリの採用を検討しています。Jose4j は良い選択のようですが、ライブラリの「依存関係」には、「...Jose4j は Java 7 でコンパイルされ、Java 8 でも実行されます...」と記載されており、現在のインストールは Java 6 バージョンで実行されます (より高いバージョンへの移行は私たちの手の届かないところにあるので、私たちの質問は簡単です。

Jose4j を Java 6 と統合する機会はありますか? (いくつかの制限はありますが、特定のライブラリを追加するなどの方法で実現できるわけではありません。)

前もって感謝します

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

java - jwt トークン認証を使用したユーザーの識別

認証用のRSA署名トークン機能を備えたJWTとともにジャージーレストWebサービスを使用しています。トークンを正常に作成してフロントエンドに送信できました。ここまで達成した後、トークンの検証と、リソースを要求しているユーザーの識別について混乱しています。

ここでいくつか質問があります:

  1. クレームを確認するために、フロントエンドで受信した jwt トークンをデコードする必要がありますか?
  2. バックエンドでリソースを要求しているユーザーを特定するにはどうすればよいですか?

SO の投稿のいくつかでは、フロント エンドでトークンをデコードする必要はないと言う人もいるため (このリンクを確認してください)、他のサイトの他の例では、このようなフロント エンドでトークンをデコードする例が示されています。

今、フロントエンドでトークンを実際にデコードするか、そのままにしておくべきかについて、さらに先に進む方法を混乱させていますか? もしそうなら、他の例では、次のようにフロントエンドでデコードを示しています

ここで使用しているトークンの例:

また、もう 1 つの問題は、nimbus+jose_JWT(RSA 署名) を使用して生成されたトークンです。Angular auth0ライブラリでデコードできません。公開鍵を使用しているからですか?