HandyCafe Docs
owner it-admin

OAuth設定

OAuth設定カテゴリでは、デバイスフロー認証を構成し、メンバーが既存のソーシャルアカウントを使用してクライアントPCにログインできるようにします。これはDevice Authorization Grant(RFC 8628)を実装しており、ユーザーが共有PC上で資格情報を入力するのではなく別のデバイス(スマートフォン)で認証するキオスク・公共環境シナリオ向けに設計されています。

マスタートグル

OAuthログインを有効にするトグルでOAuthシステム全体を制御します。無効にすると、クライアントのロック画面にOAuthログインオプションは表示されません。有効にすると、設定されたプロバイダーがメンバーログインに利用可能になります。

カフェ名

OAuth認証コンテキスト中に表示されるカフェの表示名です。メンバーがスマートフォンで認証プロンプトを見た際に、正しい施設にログインしていることを確認するのに役立ちます。

クレジットなしでのログインを許可

有効にすると、ウォレット残高がゼロでもメンバーがOAuth経由でログインできます。無料ブラウジングを許可したいカフェや、プリペイドクレジットではなくカウンターで支払うカフェに便利です。

無効にすると、OAuthログインを完了するにはメンバーにプラスのウォレット残高が必要です。

プロバイダー設定

HandyCafeは5つのOAuthプロバイダーに対応しています。各プロバイダーは個別に設定します。

Google

フィールド 説明
有効トグル Googleログインのオン/オフ
Client ID Google Cloud Consoleプロジェクトからの OAuth 2.0 Client ID
Client Secret 対応するクライアントシークレット
JSONインポート Google形式の資格情報JSONファイルをアップロードしてClient IDとClient Secretフィールドを自動入力

Facebook

フィールド 説明
有効トグル Facebookログインのオン/オフ
Client ID Facebook Developerアプリケーションからの App ID
Client Secret Facebook Developerアプリケーションからの App Secret

Apple

フィールド 説明
有効トグル Appleログインのオン/オフ
Client ID Apple DeveloperアカウントからのServices ID
Client Secret 生成されたクライアントシークレット(JWTベース)

X (Twitter)

フィールド 説明
有効トグル Xログインのオン/オフ
Client ID X Developer PortalからのOAuth 2.0 Client ID
Client Secret 対応するクライアントシークレット

Discord

フィールド 説明
有効トグル Discordログインのオン/オフ
Client ID Discord Developer PortalからのApplication ID
Client Secret 対応するクライアントシークレット

プロバイダーの設定手順

  1. プロバイダーのプラットフォームで開発者アプリケーションを作成します。
  2. 該当する場合、Device Authorization Grantフロー用にアプリケーションを構成します。
  3. Client IDとClient SecretをHandyCafeの対応するフィールドにコピーします。
  4. プロバイダーのトグルを有効にします。
  5. 設定を保存します。

Google専用として、Google Cloud Consoleから資格情報JSONをエクスポートし、JSONインポートボタンを使用して両方のフィールドを自動入力できます。

設定のテスト

OAuth設定を保存した後:

  1. サーバーに接続されたクライアントPCに移動します。
  2. クライアントのロック画面でOAuthログインオプションを探します。
  3. 設定済みのプロバイダーを選択してログインを開始します。
  4. クライアント画面にデバイスコードとQRコードが表示されます。
  5. スマートフォンでQRコードをスキャンするか、表示されたURLにアクセスしてコードを入力します。
  6. スマートフォンで認証を完了します。
  7. サーバーがトークンをポーリングし、設定に応じてログインを自動承認するか、管理者に承認リクエストを送信します。
  8. 承認されると、メンバーアカウントが作成またはリンクされ、クライアントセッションが開始されます。

完全なデバイスフローログインプロセスの詳細はOAuthログインのドキュメントをご覧ください。