# 認証

Developer app の AK/SK でアクセストークンを取得し、サーバーから安全に OpenAPI を呼び出します。

Canonical: https://developer.realsee.ai/ja/docs/authentication
Source: https://developer.realsee.ai/ja/docs/authentication.md
Language: ja

# 認証

バックエンドで Developer app の AK と SK を使い、Realsee OpenAPI のアクセストークンを取得します。

アカウント・キー不要の公開デモは [開始ガイド](https://developer.realsee.ai/ja/docs/get-started) を参照してください。自分の Team データを使う場合はログインして [アプリ一覧](https://developer.realsee.ai/ja/dashboard/apps) を開きます。

<span id="developer-app-credentials" class="docs-anchor-alias" aria-hidden="true"></span>

## Developer app の認証情報

アプリ一覧で所有元の Team を選択し、アプリを作成または開いて認証情報を取得します：

- **アプリキー（AK）**：ダッシュボードに表示され、明示的に対応する SDK フローでブラウザーから利用できる固定のキー。
- **アプリシークレット（SK）**：ゲートウェイのトークン交換に使うサーバー側の秘密情報。

SK はデータベースのパスワードと同様に扱います。サーバーで保管し、ブラウザーバンドルやログに含めないでください。


> **SK の扱い**

所有元の Team でアプリを開き、reCAPTCHA 確認後に SK を表示します。表示は 30 秒間で、ページ移動、Team 切り替え、タブ非表示、ウィンドウ切り替えでも自動的に隠れます。ブラウザーストレージ、URL、ログ、サポートへの連絡に含めないでください。

選択した Team のアプリ一覧に表示される認証情報を使います。

<span id="exchange-ak-sk-for-a-gateway-token" class="docs-anchor-alias" aria-hidden="true"></span>

## AK/SK をゲートウェイトークンと交換する

バックエンドで、所有元アプリの AK と SK を使って交換します：

```bash
curl --request POST 'https://app-gateway.realsee.ai/auth/access_token' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode "app_key=$REALSEE_APP_KEY" \
  --data-urlencode "app_secret=$REALSEE_APP_SECRET"
```

成功時は `data.access_token` と秒単位の Unix 時刻 `data.expire_at` が返ります。HTTP と業務結果を確認し、有効期限直前までサーバー側でキャッシュして同じ交換を再実行します。固定の有効期間や別の更新・ローテーション API を仮定しないでください。

文書化された `/open` リクエストの `Authorization: YOUR_ACCESS_TOKEN` に `Bearer` を付けず送ります。これはアプリの認証です。バックエンドでは自分のユーザーと返すリソースも認可してください。[OpenAPI エンドポイントガイド](https://developer.realsee.ai/ja/docs/open-api/reference) の Team 一覧取得は、対象 VR がない場合に空の一覧で成功できます。

<span id="browser-and-server-boundary" class="docs-anchor-alias" aria-hidden="true"></span>

## ブラウザーとサーバーの境界

**ブラウザーで使用可能：**

- SDK フローが明示的に対応する公開アプリキー。
- 公開デモ用 Work データ。

**サーバー側のみ：**

- アプリシークレット。
- アプリ認証情報から発行したアクセストークン。
- ゲートウェイのトークン交換と認証付き OpenAPI リクエスト。

ブラウザーで OpenAPI データが必要な場合は自分のバックエンドを経由します。サーバーが SK を保持し、トークン交換、ユーザー認可を行い、UI に必要なデータだけを返します。

<span id="next-steps" class="docs-anchor-alias" aria-hidden="true"></span>

## 次のステップ

- [開始ガイド](https://developer.realsee.ai/ja/docs/get-started)：公開デモを表示し、必要に応じて Team データに接続。
- [Team とアプリの管理](https://developer.realsee.ai/ja/docs/team-app-management)：Team の範囲と申請履歴。
- [OpenAPI](https://developer.realsee.ai/ja/docs/open-api)：発行済み認証情報でサーバーから API を呼び出す。

