【Auth0】証明書付きドメインをVerifyできない
え?カスタムドメインVerifyできない・・・?でもDNSからドメイン情報は返ってくる・・・調べてもわからない・・・そして返ってきたAuth0サポートの回答とは一体・・・。
はじめに
はじめまして。エンジニア歴2年目に突入する者です。
この記事はタイトルと同じ問題で絶賛お困り中の方へ向けたものです。
まず、Auth0では認証ページに独自ドメインを用いることができます。
この機能をカスタムドメインと呼びます。
活用例として、Webアプリケーションのログイン画面のURLを以下のようにカスタムできます。
デフォルト: YOUR_DOMAIN.auth0.com
↓
カスタムドメイン: login.YOUR_DOMAIN.com
何が起きたのか
問題
まずカスタムドメインを利用するためには、以下の大まかな手順を実施します。
- Auth0側でドメイン名を定め、CNAMEを発行する。
- DNS側(Route53など)でCNAMEを登録する。
- Auth0側でドメインをVerifyする。
かんたんじゃん、どこで引っかかるんwwwと思うでしょうが、問題は手順3で発生します。
「 V e r i f y で き な い ・ ・ ! ! 」
問題のキャプチャー
手順3のエラー
当然アクセスできない
仮説
仮説を2つ考えました。が、どちらもハズレ。
DNSレコードの反映時差
→ 数日経過後にリトライするも結果変わらず
Route53で登録する際に何か間違えた
→ nslookup YOUR_DOMAIN で正常なドメイン情報レスポンスを確認
結論
Auth0サポートからこのような返事が来ました。
「CNAME発行から1週間以内にVerifyしないと失敗する可能性があり、詳しくはこれ見てね。」
Domain control validation(DCV)は、Certificate Authority(CA)がドメインの証明書を発行する前に行わなければなりません。
DCVが失敗した場合、Cloudflareはスケジュールに従って自動的に再試行します。
DCVはスケジュール(Let's Encryptは7日間)に従ってCloudflareのCAパートナーとの間で行われます。その後、DCVトークンは信頼されるSSL証明書の発行を規定するCA/Bベースライン要件に従って失効されます。
「・・・なにそれ?おいしいの?Auth0のドキュメントに書いてないじゃん!(見逃してたらsry)」
とまぁ、
カスタムドメインを設定するときは1週間以内に全部終わらせましょう。というお話でした。
ドキュメントかダッシュボードに注釈でも入れてくれたらいいのにね。
ちなみにEventBridgeストリームも期限内(7日程度)にAWS側の受け入れ設定をしないと、
Event Source Nameが自動取り消しされるということもあったのでお気をつけください。
参考
Discussion