OAuth 2.0とは何ですか?
OAuth 2.0 認可フレームワークを使用すると、リソース所有者と HTTP サービス間の承認を管理することによってリソース所有者に代わって、またはサードパーティアプリケーションが自身に代わってアクセスを取得します。 詳細な仕様に関してはこちらをご参照ください。
Community OAuth 2.0 スキームはAuthorization Code Grantをサポートしています。
OAuth 2.0 フロー表現
OAuth 2.0 がコミュニティのSSO全体の仕組み(以下の図のステップ #1 ~ 3)にどう組み込まれるのかを理解するために、まずは シングル サインオン (SSO): はじめにをご参照ください。

- コミュニティ が、ユーザーを認可URL(Authorization URL)へリダイレクトする。その際、Redirect URI、Client ID、Scopeを添付したGETでリダイレクトされる。
- サーバ はユーザーを認可し同意・許可を取得する。
- サーバ はユーザーを認可コード(Authorization Code)と共にコミュニティのRedirect URIへ送り返す。
- コミュニティは、TokenURLへAccess Tokenをリクエストする。その際、リクエストはAuthorization Code、Redirect URI、Client ID、Client SecretをパラメータとしたJSON形式でPOST(application/x-www-form-urlencoded) で送る。
- コミュニティはUser Info URLへProfile data を、Access Token, Client IDをパラメータとしたGETでリクエストする。さらにPass Token in Authorization Bearer オプションが有効の場合は、Authorization BearerのヘッダとしてAccess Tokenが必要。
Redirect URI はコミュニティによって自動的に生成されます。
Profile Dataを取得した後、コミュニティシングルサインオン の#ステップ3 が始まります。
コミュニティで OAuth 2.0 を設定する方法
サーバー設定
- 次のエンドポイントを使用して OAuth 2.0 互換サーバーをセットアップします。
- 認可エンドポイント(Authorizaiton Endpoint)
- アクセストークンエンドポイント(Access Token Endpoint)
- ユーザー情報エンドポイント(User Info Endpoint)
コミュニティ設定
- Control に管理者としてログインします
- Integration > SSO > OAuth 2.0 へと進む
- 次のフィールドを入力します。
- 認可URL(Authorization URL)*
- クライアントID(Client ID)*
- クライアントシークレット(Client Secret)*
- 発行者(Issuer)*
- トークンURL(Token Url)*
- ユーザー情報の URL(User Info Url)*
- 範囲(Scope)
- 認可ベアラーのパストークン(Pass Token in Authorization Bearer)
* 必須フィールドを示します
- Installを押します
設定をインストールしたら、エンド ユーザーに対して SSO を有効にする前に、SSO テスト機能を使用して、すべてが期待どおりに動作していることを確認することをお勧めします。
OAuth 2.0 を設定するために必要なコミュニティのアクセス権限
OAuth 2.0 SSO を設定するには、「管理者」権限を持つコミュニティアカウントが必要です。