For the complete documentation index, see llms.txt. This page is also available as Markdown.

Roboflow でサインイン(はじめに)

OAuth 2.1 と PKCE を使用して、ユーザーが Roboflow アカウントでアプリケーションにサインインできるようにします。

PKCE を使用した OAuth 2.1 の認可コードフローで、Roboflow アカウントを使ってユーザーを認証するアプリケーションを構築できます。これにより、あなたのアプリは Roboflow ユーザーの代理として、ユーザーが承認した権限の範囲内でのみ動作できます。

OAuth アクセストークンは api.roboflow.comAuthorization: Bearer。参照 REST API で認証する を使用します。詳しくは

エンドポイント一覧、公開範囲、エラー、そして実行可能なサンプルアプリについては、 Roboflow でサインイン(開発者リファレンス).

OAuth アプリを作成する

アプリケーションを登録するには:

1

開発者設定を開く

次へ移動します ワークスペース設定 > 開発者 Roboflow ダッシュボードの app.roboflow.com.

Developer settings with OAuth applications
2

新しい OAuth アプリを作成する

クリックして OAuth アプリを作成 (または 新しいアプリ)を開き、以下を入力します:

項目
説明

名前

同意画面と OAuth アプリ一覧に表示される名前

ホームページ URL

製品の URL(同意画面に表示される情報)

リダイレクト URI

1 つ以上のコールバック URL(コードと完全に一致する必要があります)

トークンエンドポイント認証

クライアントがシークレットをトークンエンドポイントに送信する方法: client_secret_post (リクエスト本文にシークレットを含める、既定)または client_secret_basic (HTTP Basic Authorization ヘッダーにシークレットを含める)。ほとんどの MCP ゲートウェイ(Azure、TrueFoundry)は client_secret_basic.

許可されたスコープ

サインイン時に要求するすべてのスコープ

公開範囲

社内向け, 非公開、または 公開 - 参照: 開発者リファレンス - 公開範囲

OAuth applications list on the Developer page
Create OAuth application form

次のものが付与されます クライアント IDクライアントシークレット (rfcs_…)。シークレットは一度しか表示されないため、サーバー側で安全に保管してください。

リダイレクト URI の例

リダイレクト URI
典型的な用途

http://localhost:3001/oauth/callback

3001 ポートでのローカル開発

http://127.0.0.1:3001/oauth/callback

アプリが 127.0.0.1

https://yourapp.com/oauth/callback

本番環境

公開ホストでは HTTPS が必要です。HTTP が許可されるのはループバック(localhost, 127.0.0.1, ::1).

認可フロー

Roboflow は PKCE(Proof Key for Code Exchange)付きの認可コードグラントを使用します。PKCE はすべてのクライアントで必須です。

1

PKCE の code verifier と challenge を生成する

ランダムな code_verifier (43〜128 文字)を作成し、そこから code_challenge を SHA-256 で生成します:

import hashlib, base64, secrets

code_verifier = secrets.token_urlsafe(32)
code_challenge = base64.urlsafe_b64encode(
    hashlib.sha256(code_verifier.encode()).digest()
).rstrip(b"=").decode()
2

ユーザーを認可ページへリダイレクトする

ユーザーを Roboflow の認可エンドポイントへ送ります:

https://app.roboflow.com/oauth/authorize?
  client_id=YOUR_CLIENT_ID&
  redirect_uri=https://yourapp.com/callback&
  response_type=code&
  scope=openid profile email workspace:read&
  code_challenge=YOUR_CODE_CHALLENGE&
  code_challenge_method=S256&
  state=YOUR_STATE_VALUE

暗号学的にランダムな state を使用し、コールバック時に検証してください。 code_verifier コードを交換するまでサーバー側に保存します。

ユーザーには、アプリが要求した権限を含む同意画面が表示されます。

OAuth consent screen with workspace selection and scopes

承認後、Roboflow はあなたの redirect_uristate.

3

コードをトークンに交換する

サーバー上で(ブラウザでは絶対に行わず)、トークンエンドポイントに POST します:

curl -X POST https://app.roboflow.com/oauth/token \\
  -H "Content-Type: application/x-www-form-urlencoded" \\
  -d "grant_type=authorization_code" \\
  -d "client_id=YOUR_CLIENT_ID" \\
  -d "client_secret=YOUR_CLIENT_SECRET" \\
  -d "code=AUTHORIZATION_CODE" \\
  -d "redirect_uri=https://yourapp.com/callback" \\
  -d "code_verifier=YOUR_CODE_VERIFIER"

レスポンスには以下が含まれます:

  • access_token - Roboflow API を呼び出す(有効期限は 1 時間、MCP クライアントでは 24 時間)

  • refresh_token - 新しいアクセストークンを取得する(有効期限は 30 日)

  • id_token - ID クレームを含む JWT( openid が要求された場合)

OAuth トークンの使用

アクセストークンを取得したら、 Authorization ヘッダーに含めます:

トークンを検証する

不透明な rfoa_ アクセストークンを持っていて、クライアント認証情報なしで状態や有効期限を確認する必要がある場合は、検証エンドポイントを呼び出します:

レスポンス(常に HTTP 200):

期限切れまたは失効したトークンは { "active": false, "exp": null, ... } を HTTP エラーではなく返すため、呼び出し側は無効なトークンと到達不能な認可サーバーを区別できます。

トークンを更新する

アクセストークンは 1 時間後に失効します(MCP クライアントでは 24 時間)。リフレッシュトークンを使って新しいトークンを取得します:

トークンを取り消す

アクセストークンまたはリフレッシュトークンを取り消すには:

ユーザー情報

認証済みユーザーのプロフィール情報を取得します(必要: openid):

利用可能なスコープ

アプリは以下のスコープの任意の組み合わせを要求できます。各スコープは OAuth アプリの 許可されたスコープ 一覧

識別スコープ

スコープ
説明

openid

必須。 sub クレームに安定したユーザー ID を返します。

profile

ユーザーの表示名とアバターを読み取ります。

email

ユーザーのメールアドレスを読み取ります。

API スコープ

スコープ
説明

workspace:read

ワークスペースの詳細を読み取り、プロジェクトを一覧表示する

project:create

プロジェクトを作成する

project:read

プロジェクトの詳細を読み取る

project:update

プロジェクト設定を更新する

image:create

画像をアップロードする

image:read

画像を読み取り、ダウンロードする

image:tag

画像タグを追加・削除する

image:annotate

アノテーションを作成・更新する

model:infer

推論を実行する

model:deploy

モデルをデプロイする

model:manage

モデル設定を管理する

model-eval:read

モデル評価結果を読み取る

workflow:create

ワークフローを作成する

workflow:read

ワークフローを読み取る

workflow:update

ワークフローを更新する

version:create

データセットバージョンを作成する

version:read

データセットバージョンを読み取る

version:update

データセットバージョンを更新する

training-job:create

トレーニングジョブを開始する

folder:create

プロジェクトフォルダを作成する

folder:read

プロジェクトフォルダを読み取る

folder:update

プロジェクトフォルダを更新する

folder:delete

プロジェクトフォルダを削除する

追加スコープ
スコープ
説明

device:read

デバイスを読み取る

device:update

デバイス設定を更新する

vision-events:read

vision イベントを読み取る

vision-events:write

vision イベントを作成する

vision-events:manage

vision イベントのユースケースを管理する

annotation-job:create

アノテーションジョブを作成する

annotation-job:read

アノテーションジョブを読み取る

video-inference-job:create

動画推論ジョブを作成する

video-inference-job:read

動画推論ジョブを読み取る

integration:create

統合を作成する

integration:delete

統合を削除する

credentials:create

認証情報を作成する

credentials:read

認証情報を読み取る

credentials:update

認証情報を更新する

credentials:delete

認証情報を削除する

data-staging:read

ステージング済みデータを読み取る

data-staging:write

ステージング済みデータを書き込む

data-staging:delete

ステージング済みデータを削除する

batch-processing:read

バッチジョブを読み取る

batch-processing:trigger

バッチ処理をトリガーする

batch:read

バッチを読み取る

workspace-stats:read

ワークスペース統計を読み取る

OIDC ディスカバリー

Roboflow は標準の OpenID Connect ディスカバリードキュメントを公開しています:

  • OpenID 設定: https://app.roboflow.com/.well-known/openid-configuration

  • JWKS (ID トークンの検証用): https://app.roboflow.com/.well-known/jwks.json

次のステップ

最終更新

役に立ちましたか?