SAML 2.0 による SSO

    SAML(Security Assertion Markup Language) 2.0 による SSO の仕組みと実装方法について説明します。

    図3 LINE WORKS サービスとクライアント間の SAML 2.0 による SSO

    図3 LINE WORKS サービスとクライアント間の SAML 2.0 による SSO

    1. LINE WORKS サービスを使用します。
      ユーザーは Web ブラウザ、LINE WORKS アプリまたは Drive エクスプローラーから LINE WORKS サービスにアクセスします。

    2. SAML Request を生成しリダイレクトします。
      LINE WORKS サービスにログインしていない場合、SAML Request を生成して IdP 側の認証システムに渡します。

    3. (IdP 側で未ログイン状態の場合) SAML Request 検証後にログインページを表示します。
      IdP 側の認証システムで SAML Request が正常か確認した後、ユーザーが IdP 側の認証システムにログインしていない場合にはログインページを表示します。

    4. 認証システムの ID、パスワード等を入力します。
      ユーザーは認証システムのポリシーに従って ID、パスワード等を入力し、認証を完了します。

    5. IdP 側で認証処理後、SAML Response を生成します。
      認証処理の完了後、SAML Responseを生成します。
      IdP 側の認証システムにログイン済みの場合、ログインページを省略して SAML Responseを生成します。
      SAML Response は LINE WORKS にあらかじめ登録した証明書で電子署名してください。

    6. SAML Response をリダイレクトします。
      生成した SAML Response を LINE WORKS から渡された SAML Request の ACS URL にリダイレクトします。

    7. SAML Response 確認後に LINE WORKS 認証トークンを発行します。
      LINE WORKS サービスに登録されている証明書により SAML Response を検証し、認証及びユーザー情報を確認して LINE WORKS 用の認証トークンを発行します。

    SAML 2.0 による API 認証

    LINE WORKS の IMAP/CalDAV 接続における認証は、部分的に SAML 2.0 を利用できます。

    図4 SAML 2.0 による API 認証

    図4 SAML 2.0 による API 認証

    1. IMAP 用の ID とパスワードを設定して lINE WORKS サービスに接続します。
      ユーザーは Outlook 等のメールアプリで ID とパスワードを使って LINE WORKS サービスに接続します。

    2. SAML Request を渡します。(API)
      LINE WORKS サービスはユーザーが設定した ID とパスワードを SAML Request とともに IdP 側の認証システムに渡します。SSL 接続のみをサポートします。

    3. SAML Request の検証とユーザー認証後に SAML Response を生成します。
      IdP 側の認証システムで SAML Request を確認し、ID とパスワードにより認証処理を行います。認証に成功すると SAML Response を生成します。 失敗するとエラーコードを渡します。このとき、SAML Response は LINE WORKS に予め登録済みの証明書で電子署名してください。

    4. SAML Response を返します。(API)
      ACS URL ではなく 2. の API リクエストに対する応答として SAML response を返します。認証失敗時にはエラーコードを返します。

    5. SAML Response 確認後に LINE WORKS 認証トークンを発行します。
      LINE WORKS に登録されている証明書で SAML Response を検証して認証及びユーザー情報を確認し、LINE WORKS の認証トークンを発行します。