アクセストークンなしでHS256署名のIDトークンを解析する
原因
/userinfo が呼び出されます。
/userinfo を呼び出すには、 が必要です。認証時にアクセストークンを要求しない場合、次のエラーが返されます。
The id_token cannot be validated because it was signed with the HS256 algorithm and public applications (like a browser) can’t store secrets. Please read the associated doc for possible ways to fix this.
修正方法
- (推奨) アプリケーションの署名アルゴリズムを HS256 ではなく RS256 に変更します。
responseTypeパラメーターの値をtoken id_tokenに変更します (デフォルト値ではなく) 。これにより、レスポンスでアクセストークンを受け取れます。
- Auth0 Dashboard > Applications > Applications に移動し、対象のアプリケーション名を選択します。
- Settings ページの一番下までスクロールし、Show Advanced Settings を選択します。
- OAuth ビューを選択し、JsonWebToken Signature Algorithm の値を RS256 に変更して、Save Changes を選択します。