SSO連動

SSO(Single Sign On)連動とは、WORKPLACEと顧客会社に1つのIDでアクセスできる統合ログインの連動を意味します。WORKPLACEはSP(Service Provider)方式のSSOに対応します。

DevelopersのSSOは、OAuth 2.0とSAML(Security Assertion Markup Language)2.0の2方式に対応します。

「WORKPLACE [g] > Developers > SSO連動」を選択します。

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

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

OAuth2.0基盤のSSO

WORKPLACESサービスの使用

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

Authorization Code発行のリクエスト

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

(顧客会社にログインしていなければ)ログインページを実行

顧客会社のシステムにログインしていなければ、利用者に独自製作したログインページを提供します。

ID/パスワードの入力

利用者は顧客会社のログインポリシーに合わせてID/パスワードを入力します。

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

ID/パスワードで顧客会社システムに認証処理を行い、Authorization Codeを発行します。もし顧客会社システムにすでにログインしていれば、3~4番の段階を省略してすぐAuthorization Codeを発行します。 Authorization CodeはAccess Tokenのリターンに使用して消滅する単回性コードでなければなりません。

Authorization Codeのリターン(redirect)

初めてのAuthorization Code発行のリクエスト時に受けたRequestからWORKPLACE認証システムの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情報をリターンします。

WORKPLACE認証トークンの発行

WORKPLACE認証システムは利用者情報に基づいてWORKPLACE用の認証トークンを発行します。

1. Web Login URL

利用者がWORKPLACEウェブサービスにログインするためにID/パスワードを入力するページです。ログインページは顧客会社の要求に合わせて自ら製作します。

顧客会社のログインを処理してからAuthorization Codeを発行してredirect_uriにリターンする。

Request URL

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

WORKPLACEのインフラセキュリのティポリシーにより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を発行してWORKPLACE認証システムにredirectします。

Request URL

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

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

URLは利用者環境およびNAVER WORKSのポリシーによりいつでも変更できる値なので、必ず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

WORKPLACEのインフラセキュリティのポリシーにより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://顧客会社ドメイン/利用者の情報

WORKPLACEのインフラセキュリティのポリシーにより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作動方式と実現方法について説明します。

WORKPLACEサービスの使用

利用者はWORKPLACEのサービスを利用するためにウェブブラウザからURLにアクセスするかWORKPLACEアプリを起動します。

SAML Request作成後に伝達(redirect)

WORKPLACEにログインしていない場合、顧客会社の認証システムからSAML Requestを作成して渡します。

SAML Requestの検証後に(顧客会社にログインしていなければ)ログインページを実行

顧客会社の認証システムからはSAML Requestが正しいものかを確認して顧客会社システムにログインしていなければ利用者に独自製作したログインページを提供します。

ID/パスワードの入力

利用者は顧客会社のログインポリシーによりID/パスワードを入力します。

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

ID/パスワードで顧客会社システムに認証処理をしてSAML Responseを作成します。

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

SAML ResponseはWORKPLACEに予め登録した認証書で電子署名をしなければなりません。

SAML Responseの伝達(redirect)

SAML ResponseをNAVER WORKSから伝達したSAML RequestのACS URLに渡します。

SAML Responseを確認してからWORKPLACE認証トークンを発行

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

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

利用者がWORKPLACEウェブサービスにログインするためにID/パスワードを入力するページです。ログインページは顧客会社の要求に合わせて自ら製作します。

SAML Requestを検証して顧客会社のログインを処理してからSAML Responseを作成してACS URLにリターンします。

Request URL

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

WORKPLACEのインフラセキュリティのポリシーにより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="{WORKPLACE認証システムから発行するID}"
    IssueInstant="{Requestの作成日時}"
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
    ProviderName="ncpworkplace.com"
    Version="2.0">
    <saml2:Issuer
        xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">ncpworkplace.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 WORKPLACE認証システムから発行するIDで、SAML Responseの作成時に使用します。
AuthnRequest IssueInstant SAML Request作成の日時
AuthnRequest ProtocolBinding 「HTTP-POST」に送るので、SAML Responseは必ずPOST方式で送信しなければなりません。
AuthnRequest ProviderName サービス提供者の名前で、「ncpworkplace.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.ncpworkplace.com/...."
    ID="bemkplgpdoemkhjmncgmbcdibglpngclfombpmed"
    IssueInstant="2018-02-14T03:33:49.999Z"
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
    ProviderName="ncpworkplace.com"
    Version="2.0">
    <saml2:Issuer
        xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">ncpworkplace.com</saml2:Issuer>
    <saml2p:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
</saml2p:AuthnRequest>

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

SAML Responseを電子署名する際に使用する認証書を登録します。WORKPLACEはACS URLにSAML Responseを受信すると、この認証書を使って有効性を検証します。

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

SAML 2.0基盤の電子署名用認証書の登録

ログアウト

WORKPLACEログアウト

顧客会社システムからログアウトした後、WORKPLACEからログアウトする際に利用します。

ログアウトのリクエストを受けるとWORKPLACEからはログインしているWORKPLACEのアカウントをログアウトして渡されたredirect_uriにredirectします。

redirect_uriは、white_urlで管理されるのでNAVERクラウドプラットフォームのコンソールDevelopersのSSO設定からLogout Redirection Domainに登録する必要があります。

Request URL

https://会社ID.ncpworkplace.com/authn/logoutProcess

HTTP Method

GET/POST

Request

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

Response

redirect_uriにredirectします。

顧客会社ログアウト

WORKPLACEからログアウトした後、顧客会社システムからもログアウト処理をするとき使用します。

Request URL

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

WORKPLACEのインフラセキュリティのポリシーにより443ポートのみ使用できます。 製作したRequest URLは、NAVERクラウドプラットフォームのコンソールDevelopersのSSO設定からLogout URLに登録します。

HTTP Method

GET

Request

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

SSO連動の完了後

SSO連動が完了すると従来使用していた企業情報システムのログイン情報を使ってWORKPLACEログインができるので、ログイン情報が管理しやすくなります。

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

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

    処理中...