SSO連携

SSO(Single Sign On)連携とは、WORKBOXと顧客会社の間で1つのアイディを使ってアクセスできる統合ログイン連携を意味します。WORKBOXはSP(Service Provider)方式のSSOをサポートします。

DevelopersのSSOではOAuth 2.0とSAML(Security Assertion Markup Language) 2.0の2つの方式をサポートします。

① WORKBOXメニューのDevelopersにアクセスした後、設定項目の中でSSO設定を選択します。

② 設定選択のデフォルト値はOFFです。クリックしてONに設定します。

③ OAuth 2.0とSAML 2.0のうち1つを選択した後、該当の項目を入力して適用ボタンを押します。

OAuth2.0ベースのSSO

WORKBOXサービスの使用

ユーザーはWORKBOXサービスを使用するためにウェブブラウザからURLにアクセスするか、WORKBOXアプリを実行します。

Authorization Codeの発行をリクエスト

WORKBOXにログインされていない場合、顧客会社の認証システムでAuthorization Codeの発行をリクエストします。

(顧客会社にログインされていない場合は)ログインページを実行

顧客会社のシステムにログインされていない場合は、ユーザーに自主制作したログインページを提供します。

アイディ/パスワードを入力

ユーザーは顧客会社のログインポリシーに合わせてアイディ/パスワードを入力します。

顧客会社の認証処理の後、Authorization Codeを発行

アイディ/パスワードで顧客会社のシステムで認証処理を行った後、Authorization Codeを発行します。顧客会社のシステムにすでにログインされている場合は、3~4番のステップを省略し、Authorization Codeを発行します。Authorization CodeはAccess Tokenを返すのに使い、消滅する一回性のコードでなければなりません。

Authorization Codeを転送(redirect)

最初のAuthorization Code発行リクエストの際に送信したRequestの中でWORKBOX認証システムのredirect_uriにAuthorization Codeをredirectします。

Authorization CodeでAccess Tokenをリクエスト

Authorization Codeをパラメータにし、顧客会社の認証システムにAccess Tokenをリクエストします。

Access Tokenを転送

顧客会社の認証システムはAuthorization Codeを検証した後、Access Tokenを発行して返します。

Access Tokenでユーザーの情報をリクエスト

Access Tokenをパラメータにし、顧客会社の認証システムにユーザーの情報をリクエストします。

ユーザーの情報を転送

顧客会社の認証システムはAccess Tokenを検証した後、ユーザーのログインemailの情報を返します。

WORKBOX認証トークンを発行

WORKBOXの認証システムはユーザーの情報をベースにWORKBOX用の認証トークンを発行します。

1. Web Login URL

ユーザーがWORKBOXウェブサービスにログインするためにアイディ/パスワードを入力するページです。ログインページは顧客会社の要求に合わせて直接制作します。

顧客会社のログイン処理の後、Authorization Codeを発行してredirect_uriに返します。

Request URL

https://顧客会社のドメイン/顧客会社のログインページ

WORKBOXのインフラセキュリティポリシーによって443ポートのみ使えます。

制作したRequest URLはNAVERクラウドプラットフォームコンソールDevelopersのSSO設定でWeb Login URLに登録します。

HTTP Method

GET

Request

パラメータ タイプ 必須 説明
response_type String Y 認証過程に関する区分値で、どんな形の結果値を送信するかを明示。常に"code"という固定された文字列を使用
client_id String Y NAVERクラウドプラットフォームコンソールDevelopersで登録したclient idの値
redirect_uri String Y 認証処理の後、Authorization Codeを返すURLで、URLエンコーディングされている
state String Y CSRF(Cross-stie request forgery)防止のために任意に作成された固有の値(authorization code転送の際にurlに含ませてパラメータとしてstateの値を返す)
loginId String N ユーザーが入力したLoginアカウント

2. Authorization Codeの発行

顧客会社のSSOシステムで顧客会社の認証およびSSOに必要な処理を行った後、Authorization Codeを発行してWORKBOXの認証システムにredirectします。

Request URL

URLはWORKBOX認証の際にシステムからログインページリクエストの際に転送したredirect_uriパラメータの値です。

例: https://WORKBOX認証システムのURL/authorizationURL

URLはユーザーの環境およびWORKBOXのポリシーによっていつでも変わる可能性のある値であるため、必ずredirect_uriに転送されたURLを使わなければなりません。

HTTP Method

GET/POST

Request

パラメータ タイプ 必須 説明
code String Y(成功) Authorization Code Access Tokenを発行するのに使われる一回性のコード
state String Y(成功) CSRFを防止するために使うclient sideの認証値で、URLエンコーディングされている(redirect_uriパラメータで転送したstateの値)
error String Y(失敗) 失敗の時に返すエラーコード
error_description String Y(失敗) 失敗の時に返すエラー関連の説明

3. Access Token発行のAPI

顧客会社のSSOシステムでAuthorization Codeを検証した後、Access Tokenを発行して返します。

Request URL

https://顧客会社のドメイン/accessToken

WORKBOXのインフラセキュリティポリシーによって443ポートのみ使えます。制作したRequest URLはNAVERクラウドプラットフォームコンソールDevelopersのSSO設定でAccess Token Return APIに登録します。

HTTP Method

POST

Request

パラメータ タイプ 必須 説明
grant_type String Y 認証プロセスに関する区分値で、どんな形の結果値を送信するかを明示。常に"authorization_code"という固定された文字列を使用
client_id String Y NAVERクラウドプラットフォームコンソールDevelopersで登録したclient idの値
client_secret String Y NAVERクラウドプラットフォームコンソールDevelopersで登録したclient secretの値
code String Y Authorization Code
state String N CSRFを防止するために使うclient sideの認証値で、URLエンコーディングされている

Response

パラメータ タイプ 必須 説明
access_token String Y(成功の時) Access Token
token_type String Y(成功の時) Access Tokenのtype. "Bearer"に固定
expires_in String Y(成功の時) Access Tokenの有効期間(秒)。アプリケーションの実際のログイン維持時間
error String Y(失敗の時) 失敗の時に返すエラーコード
error_description String Y(失敗の時) 失敗の時に返すエラー関連の説明

4. ユーザー情報転送のAPI

顧客会社のSSOシステムでAccess Tokenを検証した後、ユーザーの情報を返します。

Request URL

https://顧客会社のドメイン/ユーザーの情報

WORKBOXのインフラセキュリティポリシーによって443ポートのみ使えます。

制作したRequest URLはNAVERクラウドプラットフォームコンソールDevelopersのSSO設定でUser info return APIに登録します。

HTTP Method

POST

Request

パラメータ タイプ 必須 説明
client_id String Y NAVERクラウドプラットフォームコンソールDevelopersで登録したclient idの値
client_secret String Y NAVERクラウドプラットフォームコンソールDevelopersで登録したclient secretの値client_secret
access_token String Y Access Token

Response

属性 タイプ 必須 説明
email_id String Y(成功の時) 構成員のログインID(業務メール)
error String Y(失敗の時) 失敗の時に返すエラーコード
error_description String Y(失敗の時) 失敗の時に返すエラー関連の説明

SAMLベースのSSO

SAML(Security Assertion Markup Language) 2.0ベースのSSO動作方式と具現方法について説明します。

WORKBOXサービスの使用

ユーザーはWORKBOXサービスを使用するためにウェブブラウザから URLにアクセスするか、WORKBOXアプリを実行します。

SAML Requestを作成して転送(redirect)

WORKBOXにログインされていない場合、顧客会社の認証システムで SAML Requestを作成して転送します。

SAML Requestを検証した後(顧客会社にログインされていない場合)、ログインページを実行

顧客会社の認証システムではSAML Requestが正しいリクエストなのかを確認し、顧客会社のシステムにログインされていない場合は、ユーザーに自主制作したログインページを提供します。

アイディ/パスワードを入力

ユーザーは顧客会社のログインポリシーに合わせてアイディ/パスワードを入力します。

顧客会社の認証処理の後、 SAML Responseを作成

アイディ/パスワードで顧客会社のシステムで認証処理を行った後、SAML Responseを作成します。

顧客会社のシステムにすでにログインされている場合は、ログインページの実行は省略し、SAML Responseを作成します。

SAML ResponseはWORKBOXに予め登録しておいた証明書で電子署名をしなければなりません。

SAML Responseを転送(redirect)

SAML ResponseをWORKBOXから転送したSAML RequestのACS URLに転送します。

SAML Responseを確認した後、WORKBOX認証トークンを発行

顧客会社が予め登録しておいた証明書でSAML Responseを検証し、認証およびユーザーの情報を確認した後、WORKBOX用の認証トークンを発行します。

1. SAMLウェブのログインページ

ユーザーがWORKBOXウェブサービスにログインするためにアイディ/パスワードを入力するページです。ログインページは顧客会社の要求に合わせて直接制作します。

SAML Requestを検証し、顧客会社のログインを処理した後、SAML Responseを作成してACS URLに返します。

Request URL

https://顧客会社のドメイン/顧客会社のログインページ

WORKBOXのインフラセキュリティポリシーによって80あるいは443ポートのみ使えます。

制作したRequest URLはNAVERクラウドプラットフォームコンソールDevelopersのSSO設定でWeb Login URLに登録します。

HTTP Method

GET

Request

パラメータ タイプ 必須 説明
SAMLRequest String Y SAML 2.0 Requestの明細による文字列(Deflate + Base64でエンコーディングした値)
RelayState String Y 認証失敗の時に再度試みるURL

2. SAML Requestの検証

SAML RequestはDeflate + Base64でエンコーディングされています。

SAML Requestの明細

<?xml version="1.0" encoding="UTF-8"?>
<saml2p:AuthnRequest
    xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
    AssertionConsumerServiceURL="{ACS URL}"
    ID="{WORKBOX認証システムで発行するID}"
    IssueInstant="{Request作成日時}"
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
    ProviderName="ncloudworkbox.com"
    Version="2.0">
    <saml2:Issuer
        xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">ncloudworkbox.com</saml2:Issuer>
    <saml2p:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
</saml2p:AuthnRequest>

SAML Requestの各項目は次の通りです。

項目 説明
AuthnRequest AssertionConsumerServiceURL 略してACS URLといい、SAML Responseを転送するURLです。
AuthnRequest ID WORKBOXの認証システムで発行するIDで、SAML Response作成の際に使います。
AuthnRequest IssueInstant SAML Request作成日時
AuthnRequest ProtocolBinding 'HTTP-POST'で送るので、SAML Responseは必ずPOST方式で転送しなければなりません。
AuthnRequest ProviderName サービス提供者の名前で、'ncloudworkbox.com'に送っています。
Issuer サービス提供者のコンストラクタのネームアイテムで発行するIDで、SAML Response作成の際に使います。

SAML Request Example

<?xml version="1.0" encoding="UTF-8"?>
<saml2p:AuthnRequest
    xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
    AssertionConsumerServiceURL="https://会社のID.ncloudworkbox.com/...."
    ID="bemkplgpdoemkhjmncgmbcdibglpngclfombpmed"
    IssueInstant="2018-02-14T03:33:49.999Z"
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
    ProviderName="ncloudworkbox.com"
    Version="2.0">
    <saml2:Issuer
        xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">ncloudworkbox.com</saml2:Issuer>
    <saml2p:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
</saml2p:AuthnRequest>

3. SAML Response電子署名のための証明書の登録

SAML Responseを電子署名する際に使う証明書を登録します。WORKBOXはACS URLにSAML Responseを送信すると、その証明書を利用して有効性を検証します。

NAVERクラウドプラットフォームコンソールDevelopersのSSO設定でCertificate Fileに証明書を登録します。

SAML 2.0ベースの電子署名用の証明書を登録

ログアウト

WORKBOXログアウト

顧客会社のシステムからログアウトした後、WORKBOXからログアウトする際に使います。

ログアウトのリクエストを送信すると、WORKBOXではログインされているWORKBOXのアカウントをログアウトして転送されたredirect_uriにredirectします。

redirect_uriはwhite_urlで管理されるため、NAVERクラウドプラットフォームコンソールDevelopersのSSO設定でLogout Redirection Domainに登録しなければなりません。

Request URL

https://会社のID.ncloudworkbox.com/authn/logoutProcess

HTTP Method

GET/POST

Request

パラメータ タイプ 必須 説明
redirect_uri String Y WORKBOXからログアウトした後、redirectするURL. URLエンコーディングされている

Response

redirect_uriにredirectします。

顧客会社ログアウト

WORKBOXからログアウトした後、顧客会社のシステムからもログアウト処理をする際に使います。

Request URL

https://顧客会社のドメイン/ログアウト

WORKBOXのインフラセキュリティポリシーによって443ポートのみ使えます。 制作したRequest URLはNAVERクラウドプラットフォームコンソールDevelopersのSSO設定でLogout URLに登録します。

HTTP Method

GET

Request

パラメータ タイプ 必須 説明
redirect_uri String N 顧客会社のシステムでログアウト処理した後、redirectするredirect_uri. URLエンコーディングされている

SSO連携完了後

SSO連携が完了すると、従来使用していた企業情報システムのログイン情報でWORKBOXへのログインが可能であり、ログイン情報の管理が便利になります。

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...