SSOとApp User
SSOとApp User
シングルサインオン(SSO)サービスは、会社のIdentity and Access Management (IAM)ソリューションの一環として使用されることがよくあります。SSOサービスが展開されると、ユーザーは、1つの資格情報セット(ユーザー名とパスワード)だけを使用して1回ログインすれば、複数のアプリケーションの認証を安全に行うことができます。
graph LR
a[SSO User] --- b[Custom Box App]
b --- c[Box App User]
Boxは、会社のSSOサービスに接続可能なアプリケーションの1つです。こうしたアプリケーションをカスタムアプリに統合すれば、いずれのエンドユーザーに対しても即座にBoxユーザーがプロビジョニングされます。その際、このエンドユーザーにはBoxアカウントが用意されたことが知らされません。
SSOをアプリに接続する
プログラムによってSSOサービスをBoxアプリケーションに統合する際のフローは以下のとおりです。
sequenceDiagram
participant Browser
participant Web Server
participant SSO Provider
Browser->>+Web Server: User visits web app
Web Server->>-Browser: Redirected to SSO
Browser->>+SSO Provider: User logs in
SSO Provider->>-Browser: Redirected back to web app
Browser->>+Web Server: Pass SSO user details
Web Server-->>+Box API: Find or create a new app user
Box API-->>-Web Server: Return app user details
Web Server->>-Browser: Display files to user
- ユーザーはログアウトした状態でウェブアプリケーションやモバイルアプリケーションにアクセスします。
- ユーザーは、通常
OAuth 2
やOpenID Connect
を介して、ログインのためにSSOプロバイダにリダイレクトされます。 - ログイン後、ユーザーはSSO ID資格情報と共にアプリケーションに再度リダイレクトされます。
- アプリケーションでは、このユーザーに関連付けられたBoxアカウントが既に存在するかどうかを確認します。
- このユーザーに既存のBoxアカウントがある場合、アプリケーションはSSO IDを使用して、Boxでそのユーザーに代わってAPI呼び出しを実行します。
- このユーザーに関連付けられたBoxアカウントがまだない場合は、SSO IDに基づいて新しいBoxユーザーアカウントが作成されます。SSOサービスの一意のユーザーIDが新しいBoxユーザーにリンクされ、2つのアカウントの間に関連付けが作成されます。その後、この新しいBoxユーザーがBoxでそのユーザーに代わってAPI呼び出しを実行します。