Skip to content
このページは AI の支援により作成・翻訳されました。誤りがあれば、改善にご協力ください。 GitHub で編集

認証

OpenPRはユーザー認証にJWT(JSON Web Tokens)、AIアシスタントとMCPサーバーアクセスにボットトークンを使用します。

ユーザー認証(JWT)

登録

新しいアカウントを作成:

bash
curl -X POST http://localhost:8080/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "name": "John Doe",
    "password": "SecurePassword123"
  }'

レスポンス:

json
{
  "code": 0,
  "message": "success",
  "data": {
    "user": {
      "id": "uuid",
      "email": "[email protected]",
      "name": "John Doe",
      "role": "user"
    },
    "access_token": "eyJ...",
    "refresh_token": "eyJ..."
  }
}

最初のユーザー

最初に登録したユーザーが自動的にadminロールを取得します。それ以降のすべてのユーザーはデフォルトでuserになります。

ログイン

bash
curl -X POST http://localhost:8080/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "SecurePassword123"
  }'

レスポンスにはaccess_tokenrefresh_tokenrole付きのユーザー情報が含まれます。

アクセストークンの使用

すべての認証リクエストのAuthorizationヘッダーにアクセストークンを含める:

bash
curl -H "Authorization: Bearer eyJ..." \
  http://localhost:8080/api/workspaces

トークンのリフレッシュ

アクセストークンの期限が切れた場合、リフレッシュトークンを使用して新しいペアを取得:

bash
curl -X POST http://localhost:8080/api/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "eyJ..."}'

現在のユーザーを取得

bash
curl -H "Authorization: Bearer eyJ..." \
  http://localhost:8080/api/auth/me

role(admin/user)を含む現在のユーザープロファイルを返します。

トークン設定

JWTトークンの有効期間は環境変数で設定されます:

変数デフォルト説明
JWT_SECRETchange-me-in-productionトークン署名用の秘密鍵
JWT_ACCESS_TTL_SECONDS2592000(30日)アクセストークンの有効期間
JWT_REFRESH_TTL_SECONDS604800(7日)リフレッシュトークンの有効期間

プロダクションセキュリティ

プロダクションではJWT_SECRETを必ず強力でランダムな値に設定してください。デフォルト値は安全ではありません。

ボットトークン認証

ボットトークンはAIアシスタントと自動化ツールに認証を提供します。ワークスペーススコープでopr_プレフィックスを使用します。

ボットトークンの作成

ボットトークンはワークスペース設定UIまたはAPIで管理されます:

bash
curl -X POST http://localhost:8080/api/workspaces/<workspace_id>/bots \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <admin_token>" \
  -d '{"name": "Claude Assistant"}'

ボットトークンの使用

ボットトークンはJWTトークンと同じ方法で使用されます:

bash
curl -H "Authorization: Bearer opr_abc123..." \
  http://localhost:8080/api/workspaces/<workspace_id>/projects

ボットトークンのプロパティ

プロパティ説明
プレフィックスopr_
スコープ1つのワークスペース
エンティティタイプbot_mcpユーザーエンティティを作成
権限ワークスペースメンバーと同等
監査証跡すべての操作がボットユーザー下で記録

認証エンドポイントまとめ

エンドポイントメソッド説明
/api/auth/registerPOSTアカウントを作成
/api/auth/loginPOSTログインしてトークンを取得
/api/auth/refreshPOSTトークンペアをリフレッシュ
/api/auth/meGET現在のユーザー情報を取得

次のステップ

Released under the Apache-2.0 License.