Auth0の認証コードとアクセストークンの可変サイズに対応する(作業まとめ)(2022年4月12まで)

まずは、開発環境で実験しましょう。
2022.03.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Auth0から次の件名のメールが来ました。

  • Reminder - Action Required: Authorization Code and Access Token Variable Size

本記事は、このメールの内容を確認して対応した際の作業まとめです。

Auth0から来たメールの要約

  • Access Tokens と Authorization Codes を「固定長」から「可変長」に変更するよ
  • もし、「固定長であること」を前提にしているシステムがあったら、修正してね
  • 2022/4/12から、可変長に切り替わるよ
    • 設定画面で、「固定長の利用を止める」ができるよ
      • 開発環境とかで、早めに試してね

Auth0から来たメール

調査・対応メモ

メールの案内に従って、影響範囲を確認する

  1. Dashbord > Monitoring > Logs に行く
  2. 下記で検索し、Hitしたら、固定長のアクセストークンを使っていると分かる
type:depnote AND description:*authorization*

注意ログがありました。

Auth0のNoticeログ

Auth0のNoticeログ(詳細)

どうやら、SPA用のApplicationで固定長のアクセストークンを利用しているようです(Universal Login画面)。

Auth0のアプリケーション

私の環境では、上記以外の利用は有りませんでした。

アクセストークン利用箇所の確認

Universal Login画面で利用していることは、Logで分かりました。 他に怪しい部分は、API Gatewayでauthorizationをチェックしている部分が怪しいですが、固定長を前提とした確認はしていないので問題ありませんでした。 例えば下記の様な記載ですね。

Identity:
  Header: Auth
  ValidationExpression: Bearer.*
  ReauthorizeEvery: 30
{
    "x-amazon-apigateway-authorizer": {
        "type": "token",
        "authorizerUri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:account-id:function:function-name/invocations",
        "authorizerCredentials": "arn:aws:iam::account-id:role",
        "identityValidationExpression": "^x-[a-z]+",
        "authorizerResultTtlInSeconds": 60
    }
}

設定変更してみる

  1. Dashbord > Setting > Advanced にいく
  2. Migration の「Fixed Length of Access Token & Authorization Code」を Disable にする

Auth0の設定を変更して、固定長のアクセストークン等を使わないようにする

ログインして動作確認する

Webアプリにログインして、Auth0のログを確認すると、Deprecation Noticeはありませんでした。 他、Webアプリの動作(API Gatewayからデータ取得する部分等)も問題なしでした。

さいごに

固定長であることを前提にした仕組みを構築していなかったので、「問題ないこと」を確認するだけで終わりました。 Logにメッセージが表示されるので、とても助かりました。

参考