ログインショートカット
サービスに OIDC の連携フローを開始する URL を登録することで、ユーザーにスムーズなサービス連携を提供することができます。
実装方法
サービス側で以下の二つの機能を実装する必要があります。
- OIDC 連携フロー
- OIDC 連携を開始するエンドポイント
1. OIDC 連携フロー
基本的には通常の OIDC 連携フロー と同様のフローですが、Authorization Endpoint のパラメータに
display=psapp
を渡す必要があります。
このパラメータを設定することで、QR コードの表示画面をスキップして、直接ポケットサインアプリの同意画面に遷移します。
URLの例:
https://oidc.core.mock.p8n.app/oauth2/auth?display=psapp&client_id=<client_id>&redirect_uri=<redirect_uri>&response_type=code&scope=openid+offline_access&state=<state>
2. OIDC 連携を開始するエンドポイント
ユーザーがサービスアイコンをタップした後の遷移先です。
このエンドポイントではOIDC 連携に必要な state
や nonce
などを準備し、Authorization Endpointに遷移させます。
実装例
この例では、/shortcut
をサービスの URL として登録することで、ログインショートカットを実装しています。
https://github.com/pocketsign/link-subscriber-api-example/blob/main/auth.go#L31