アプリケーション用ログインページ
「図1 LINE WORKS サービスとクライアント間の OAuth2.0 による SSO」のプロセス 3. で使うアプリケーション用ログインページを作成します。ユーザーがLINE WORKS アプリや Drive エクスプローラーにログインするためにIDとパスワードを入力するページです。
IdP 側でログイン処理後、Authorization Code を発行して redirect_uri に返します。
参考
- LINE WORKS アプリと Drive エクスプローラーの UI ではアプリケーション内でログイン処理を実行しているように見えますが、内部ではアプリ内ブラウザを通じて該当 URL を呼び出しています。そのため、IdP 側で個別にページを作成するのではなく「Web ログインページ」をレスポンシブ型にして共用することを推奨します。
注意
- IdP 側でログイン処理を実施後は必ず redirect_uri でリダイレクトしてください。アプリ内ブラウザで動作しているため、リダイレクトが行われないと正常に LINE WORKS のサービス画面に遷移できません。
Request URL
https://クライアントドメイン/クライアントログインページ
LINE WORKS のセキュリティーポリシーにより、port 80 もしくは 443 のみ使用できます。
作成した Request URL は、Developer ConsoleのSSO 設定ページにて Application Login URL に登録します。
図10 OAuth 2.0によるアプリケーションログインページURLの登録
HTTP Method
GET
Request
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
response_type | String | Y | レスポンスタイプ "code" 固定 |
client_id | String | Y | Developer Console で登録した client id |
redirect_uri | String | Y | 認証処理後に Authorization Code を返すURL。URL エンコードされています。 |
worksId | String | N | ユーザーが入力した LINE WORKS アカウント ID |
userAgent | String | Y | ユーザーが LINE WORKS アプリからアクセスしているか識別するための値。"LineWorks"固定。 IdP 側が HttpRequest Header に含まれている userAgent を使用してアクセス元を確認している場合、この値で代替することができる。 |
sessionKey | String | Y | LINE WORKS アプリからログインリクエストか検証する際に使用する値 |
参考
- CSRF(Cross-site request forgery) 防止のために使用する state は、パラメーターの代わりに redirect_uri 中に含まれています。
そのため、IdP 側で authorization code を返す際は redirect_uri にそのまま redirect する必要があります。- ログインページへ遷移後 30 分以内に Authorization Code のコールバックがない場合、正常ではないログイン操作とみなされてログインに失敗します。
- HttpRequest Header の userAgent 値は予告なく変更されることがあります。