Socialログイン(外部IdP連携)
Google等の外部サービスのアカウントを使ったログイン機能を提供します。
パスワード認証と併用でき、ユーザーは好きな方法でログインできます。
概要図
┌─────────────────────────────────┐
│ あなたのアプリ(トップページ) │
│ │
│ ┌─────────────────┐ │
│ │ [ログイン] │ ← クリック │
│ └─────────────────┘ │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ ログイン画面 │
│ │
│ ┌─────────────────────┐ │
│ │ [Googleでログイン] │ │
│ └─────────────────────┘ │
│ │
│ または │
│ │
│ メールアドレス: [__________] │
│ パスワード: [__________] │
│ [ログイン] │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ Googleの認証画面 │
│ │
│ 「○○アプリにログイン」 │
│ アカウントを選択してください │
│ │
│ user@gmail.com │
└─────────────────────────────────┘
↓
┌─────────────────────────────────┐
│ あなたのアプリ(ログイン完了) │
│ │
│ ようこそ、○○さん │
└─────── ──────────────────────────┘
バックエンドの処理フロー
ユーザー あなたのアプリ idp-server 外部IdP(Google等)
│ │ │ │
│ ログインクリック │ │ │
│ ────────────────→│ │ │
│ │ 認可リクエスト │ │
│ │ ────────────────→│ │
│ │ │ 外部IdPへリダイレクト │
│ ←─────────────────────────────────────────────────────────→│
│ │ │ │
│ │ │ 認証コード受信 │
│ │ │ ←────────────────────│
│ │ │ │
│ │ │ ユーザー情報取得 │
│ │ │ ────────────────────→│
│ │ │ │
│ │ │ プロフィール情報 │
│ │ │ ←────────────────────│
│ │ │ │
│ │ トークン発行 │ │
│ │ ←────────────────│ │
│ ログイン完了 │ │ │
│ ←────────────────│ │ │
できること
外部サービスアカウントでのログイン
ユーザーが持っている既存のアカウントでログインできます。新しいパスワードを覚える必要がありません。
- SNSアカウント: Google、Apple 等
- エンタープライズアカウント: Azure AD、Okta 等
- カスタムOIDCプロバイダー: 自社の別サービス等
パスワード認証との併用
パスワード認証とSocialログインを同時に提供できます。
- ユーザーが好きな方法を選択
- パスワードなしでSocialログインのみも可能
- 外部サービス障害時のフォールバックとしてパスワード認証を残すことも可能