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?

Better Auth の新機能 authorizationEndpoint で認可URLをカスタマイズする - Cognito マネージドログインのスキップ

Posted at

はじめに

この記事では、前回紹介した Better Auth と Cognito の連携に続き、Cognito 側に設定している別の IdP の認証画面へ直接遷移する方法を紹介します。

前回の成果物では、以下のようにマネージドログインの画面を表示していましたが、この画面を飛ばし、直接 SSO 先(今回は Auth0)の認証画面へ遷移する方法を試してみました。

CleanShot 2026-01-23 at 05.48.34.gif

本来であれば、Better Auth から直接 Auth0 を連携させれば解決するお話でもあるのですが、今回は今月新規に追加された authorizationEndpoint の上書き機能を使い、動作確認してみます。

この記事で学べること

  • Better Auth の authorizationEndpointオプション について
  • Better Auth で Cognito に設定した IdP の認証画面へ直接遷移する方法

前提知識・条件

  • 動作確認時の各ライブラリのバージョンは以下のとおりです
    • Next.js: 16.1.3
    • Better Auth: 1.4.15

やってみた

では検証してみます。

Cognitoで直接IdPにリダイレクトする方法

まず、Cognito では認可エンドポイントに identity_provider パラメータを付与することで、マネージドログインをスキップできます。

https://{domain}/oauth2/authorize?identity_provider=Auth0&...

利用しているログイン手段が 1 つしかない、といったケースで利用する機能です。

今回はこの手法で、Better Auth 側で identity_provider を認証 URL に付与すれば対応できそうですね。

なお、ユーザプールに Auth0 の設定の追加する際の CDK コードの例は以下のとおりです。

詳細な設定方法等は以下をご確認ください。

Better Auth側の対応

ちょうど 2026 年 1 月、v1.4.12 にてこの対応にピッタリな機能がリリースされました。

Adds an authorizationEndpoint option to OAuth providers so you can override the default authorization URL. This helps test against local or sandbox OAuth servers.

この PR で追加された authorizationEndpoint オプションは、OAuth プロバイダーの認可エンドポイント URL を上書きできる機能です。

元々はローカルやサンドボックス環境でのテスト用途を想定していますが(Issue #6956)、今回のように認可 URL にカスタムパラメータを付与したい場合にも活用できそうです。

このオプションはクエリパラメータ単位での追加ではなく、URL 全体を上書きするので、以下のように設定してみました。

環境変数は COGNITO_IDENTITY_PROVIDER=Auth0 を新規追加しています。

この設定のみで動作することを確認しました。

CleanShot 2026-01-25 at 10.04.30.gif

ログアウト処理の修正

最後にログアウト処理についてです。

ログアウト時は、Better Auth のセッションクリア後、Auth0 → Cognito の順でそれぞれログアウトしていきます。

なお、特にログアウトしていく順序には制約はありません。

まとめ

マネージドログイン画面のスキップを例に authorizationEndpoint オプションのご紹介をしました。

このようなケース以外にも、便利なシーンがありそうです。

なお、今回は新機能の authorizationEndpoint を使いましたが、Generic OAuth プラグインの authorizationUrlParams オプションでも同様のことが実現できます。

実はこの記事を書く直前まではこの方法で実現してましたが、今回紹介した新機能の方が簡単に書けます。

状況に応じて使い分けると良いと思います。

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?