1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScript(ブラウザ環境)でOAuth2 PKCE用パラメータを生成する

Posted at

JavaScript(ブラウザ環境)でProof Key for Code Exchange (RFC 7636) のcode_verifier、code_challenge(code_challenge_methodがS256の場合)を生成するコードを作成した。

実装の要点

Cryptoが利用できないブラウザ(IE10以前など)でも動作するように実装している。(ただし、この場合は乱数生成にMath.random()を使うため乱数の暗号強度はブラウザ実装によっては下がる可能性がある。)

ハッシュ生成にはcrypto-jsを使っている。

なお、乱数生成にもcrypto-jsを利用できるが、crypto-jsの乱数生成処理は3.3.0ではMath.random()、4.0.0ではCryptoを固定で利用するようになっているため、ブラウザのCryptoサポートによって切り替えるように独自実装している。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?