OAuth 2.0 認証
Re:port Flow API は appkey ヘッダによる認証に加えて、OAuth 2.0 / OpenID Connect をサポートしています。サードパーティ統合(Make.com 等)や、独自アプリケーションからの認証フローに利用できます。
OAuth と appkey はどう使い分ける?
自分のワークスペースを自分で自動化するだけなら appkey が最短です。OAuth はサーバー間連携(Client Credentials)と、他ユーザーに認可を求める外部サービス連携(Authorization Code + PKCE)のために使います。
| 用途 | 推奨方式 |
|---|---|
| 単一ワークスペースの自動 化(cURL、社内バッチ) | appkey ヘッダ |
| サーバー間連携(バックエンド → Re:port Flow) | OAuth 2.0 Client Credentials |
| ユーザー個別の認可(Make.com、外部 SaaS、個人アプリ) | OAuth 2.0 Authorization Code + PKCE |
エンドポイント
重要: OAuth フロー(Discovery / Authorization / Token / UserInfo)は
re-port-flow.com/api/v1にホストされており、PDF 生成等の保護リソース API(api.re-port-flow.com/v1/...)とは 別ドメインです。発行された Access Token (Bearer) は保護リソース API 側で利用します。
OIDC Discovery ドキュメントから自動取得することを推奨します:
GET https://re-port-flow.com/api/v1/.well-known/openid-configuration
主なエンドポイント:
| 項目 | URL |
|---|---|
| Issuer | https://re-port-flow.com/api/v1 |
| Authorization | ${issuer}/oauth/authorize |
| Token | ${issuer}/oauth/token |
| UserInfo | ${issuer}/oauth/userinfo |
| 保護リソース API(Bearer 利用先) | https://api.re-port-flow.com/v1/... |
サポート仕様
| 項目 | 値 |
|---|---|
response_type | code |
grant_types | authorization_code, refresh_token, client_credentials |
code_challenge_method | S256(PKCE 必須) |
token_endpoint_auth_methods | none, client_secret_post, client_secret_basic |
| アクセストークン有効期限 | 3600 秒(1 時間) |
スコープ
| Scope | 説明 |
|---|---|
openid | ユーザーIDの確認(OIDC) |
profile | プロフィール情報の取得(本実装ではメールアドレスを含みます) |
designs:read | デザインの一覧・詳細を表示する(読み取りのみ) |
designs:write | デザインを作成・編集する |
templates:read | テンプレートの一覧・詳細を表示する(読み取りのみ) |
templates:write | テンプレートを作 成・編集する |
pdf:generate | テンプレートから PDF を生成する。Webhook エンドポイントの管理 API(一覧・作成・更新・削除・シークレット再生成)にも必要(Webhook 通知) |
複数スコープを指定する場合はスペース区切り(例: pdf:generate designs:read)。
クライアント種別
| 種別 | is_public | 認証方式 | 主な用途 |
|---|---|---|---|
| Public Client | true | PKCE のみ(client_secret なし) | モバイル/SPA、Make.com 等の公開クライアント |
| Confidential Client | false | client_secret 必須 | サーバー間連携、client_credentials グラント |
client_credentials グラントは Confidential Client 専用です。Public Client では使用できません。
Authorization Code フロー(PKCE)
ユーザーごとに認可を取得するフロー。Make.com 等の統合先や、ユーザーが自分のワークスペースに対して操作するアプリで利用します。
1. Authorization リクエスト
GET https://re-port-flow.com/api/v1/oauth/authorize
?response_type=code
&client_id=YOUR_CLIENT_ID
&redirect_uri=https://your-app.example.com/callback
&scope=openid%20profile%20pdf:generate
&state=RANDOM_STATE
&code_challenge=BASE64URL(SHA256(verifier))
&code_challenge_method=S256
ユーザーがログインと同意を完了すると、redirect_uri に code と state が付与されてリダイレクトされます。