OAuth 2.0 概要

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

オープンクラウド API を使用して Roblox リソースにアクセスするアプリをビルドまたは認可できます。Open Cloud は、OAuth 2.0 を使用してこれらのアプリに対する認証を提供します。

エクスペリエンスクリエーターまたはグループオーナーとして

他の人によって作成されたツールを安全に使用して、作成生産性を向上させることができます。OAuth 2.0 認可レイヤーでは、クレジトと個人情報を提供せずに、あなたまたはグループのエクスペリエンスにアクセスするために、サードパーティアプリに許可を付与できます。特定の Roblox 資源のアクセス権限を選択し、Roblox は OAuth 2.0 フレームワークで認可プロセスを処理します。

アプリ開発者として

Roblox コミュニティで自分と他の人のためのアプリを作成できます。OAuth 2.0 は、認証プロセスに関与する役割、役割が相互に対話するプロトコル、および安全で互換性のあるアプリを開発するために従う必要のある認可フローを定義します。

役割

オープンクラウド OAuth 2.0 プロトコルには、次の役割があります。認証フローで相互にどのように対話するかを学ぶ前に、特定の役割を理解することは有用です。

  • リソース所有者 : 保護されたリソースにアクセスできるエンティティ。たとえば、オープンクラウド Web API を介して第三者アプリに Roblox リソースへのアクセスを許可するクリエイターなど。

  • リソースサーバー : Roblox サービスで、保護されたリソースをホストし、リソース所有者からのリクエストに応答するサービス。

  • クライアント : リソース所有者の代理で保護されたリソースにアクセスするアプリ (所有者の権限を持って)

  • 認証サーバー : リソース所有者の身分を認証し、クライアントにアクセストークンを発行する Roblox サーバー。

付与タイプ

認証フローまたは付与タイプは、ロールが認証プロセス中に実行するアクションのステップです。Roblox は、OAuth 2.0 認可コードフローとその証明キーをコード交換 (PKCE) 拡張に対してサポートし、クライアントの秘密を保存できるかどうかに関係なく、アプリの実装要件が異なります。

認証コードフロー

認可コードフローを通じて、クライアントはアクセストークンとリフレッシュトークンを交換して、次のステップで認可プロセスを完了するための認可コードを交換します:

  1. クライアントは Roblox 認可サーバーに認可リクエストを送信します。

  2. 認証サーバーはリソース所有者の身元を確認します。

  3. 認可サーバーは、資源所有者から特定の Roblox リソースへのアクセス権限を受け取ります。

  4. 認可サーバーは、リソース所有者を認可コードでクライアントにリダイレクトします。

  5. クライアントはトークンエンドポイントで認可コードを使用してアクセストークンをリクエストします。

  6. クライアントは、アクセストークン、IDトークン、リフレッシュトークンを含むトークンエンドポイントから応答を受け取ります。

  7. クライアントはアクセストークンを取得した後、許可されたリソースを取得します。

次の図では、次のセクションで読む認可コードフローのロール間のインタラクションを説明します:

PKCE での認証コードフロー

認可コードフローの PKCE 拡張 は、認可コードが漏れ出すリスクを軽減し、ユーザーを意図しないウェブリクエストを送信させる攻撃であるクロスサイトリクエスト偽造 (CSRF) を防ぐのに役立ちます。このフローは、次のステップで認可プロセスを完了します:

  1. クライアントは、すべての認証リクエストに対して、唯一の暗号化されたランダムキーである コード検証者 を生成します。

  2. クライアントは、コード検証機に SHA-256 ハッシュアルゴリズムを実行し、コードチャレンジ を生成します。

  3. クライアントが:

    • クライアントの秘密を使用せずに、公開クライアント で、認可リクエストにクライアントIDとコードチャレンジをパスします。

    • 機密クライアント であり、クライアントIDと秘密とともにコードチャレンジをリクエストに追加します。

  4. クライアントは Roblox 認可サーバーに認可リクエストを送信します。

  5. 認証サーバーはリソース所有者の身元を確認します。

  6. 認可サーバーは、資源所有者から特定の Roblox リソースへのアクセス権限を受け取ります。

  7. 認可サーバーは、リソース所有者を認可コードでクライアントにリダイレクトします。

  8. クライアントは、トークンエンドポイント へのトークンリクエストに、認証コードとオリジナルコード検証機を含めます。

  9. 認可サーバーは、認可コードと関連するコード検証機を確認します。

  10. クライアントは、アクセストークン、IDトークン、リフレッシュトークンを含むトークンエンドポイントから応答を受け取ります。

  11. クライアントはアクセストークンを取得した後、許可されたリソースを取得します。

OpenID Connect のサポート

Roblox は、OpenID Connect (OIDC) を認証のための OAuth 2.0 プロトコルの上に身分層として使用して、機密アカウント情報を保護します。OIDC は、アプリケーションがユーザーの身分を確認し、ユーザー ID、ユーザー名、ディスプレイ名、プロフィールリンクなどの基本的な公開プロフィール情報を取得できるようにします。

登録と実装

認証コードフローを使用するウェブまたはモバイルアプリを実装するには、次のことが必要です:

  1. 登録 Roblox でアプリを登録します。これにより、Roblox にアプリを登録して呼び出しを行うためのクライアント IDと秘密を取得できます。

  2. 認可コードフローを実装する呼び出す必要がある OAuth 2.0 エンドポイントの完全な参照については、認証 参照を参照してください。

  3. レビュープロセス を通過して、より多くのユーザークオータを取得する