2017-09-16 7 views
1

React NativeでJWTを検証およびデコードするライブラリ/ NPMモジュール/コードサンプルはありますか?React NativeのJWTを検証してデコードする簡単な方法はありますか?

私は手動で行うことができます。しかし、私はnode-jsonwebtokenのようなものが存在することを望んでいた。 (反応原産国では機能しません)

https://github.com/auth0/jwt-decodeはデコードされますが確認はしません。

答えて

1

純粋なJSで書かれたいくらか大きくて遅い暗号ライブラリを使用していますが、RSA-Sign JavaScript Libraryがあります。

さらに簡単で迅速な結果を得るために少しでも働きたい場合は、Wep Crypto APIを使用して、ブラウザで署名を確認してください。厳密なコードは鍵のアルゴリズムとフォーマットに依存しますが、基本的にJWTの底部でbase64urlでコード化された署名をデコードし、crypto.subtle.importKey["verify"]を最後の引数として呼び出します(JWK形式で鍵を渡すか、取得)し、結果のキーを使用してcrypto.subtle.verifyを呼び出します。あなたが達成することができArrayBufferへ(デコード)トークンの署名を有効にする必要があります:

同じネットワーク上で、ちょうどキーがによって参照されている場合(署名を検証する前に、キーを取り出す
buffer = new Uint8Array([...signature].map(c => c.charCodeAt(0))) 

は避けてください'jku'またはトークンの 'jwk'ヘッダーフィールドに指定されています)、その整合性を確認することはブラウザ内でややこしいので、手動チェック後にソースコードでハードコーディングできる方が良いでしょう。

関連する問題