ObjectOS
設定

認証

サインイン、セッション、OAuth、OIDC/SSO、デバイスフローを設定します。

認証

ObjectOS は、Better Auth を基盤とする ObjectStack 認証プラグインを使用します。認証はプロジェクトローカルであり、各プロジェクトは独自のアイデンティティテーブルとセッションスコープを持ちます。

サポートされる機能

パッケージ化されたアプリケーションと有効化された設定に応じて、ObjectOS は以下をサポートできます。

  • メール/パスワードによるサインイン
  • セッション管理
  • パスワードリセットとメール検証
  • Google、GitHub、Microsoft、Apple などのソーシャル OAuth プロバイダー
  • Okta、Entra ID、Keycloak、Ping などのエンタープライズ OIDC/SSO
  • 二要素認証
  • パスキー/WebAuthn
  • マジックリンク
  • CLI/ブラウザのデバイスフロー

必須のシークレット

次を設定します。

OS_AUTH_SECRET=replace-with-a-strong-random-secret

ObjectOS は、この値とプロジェクト環境 id から、安定したプロジェクトごとのシークレットを導出します。これにより以下が実現されます。

  • セッションがコンテナの再起動後も維持される
  • あるプロジェクトのトークンを別のプロジェクトで再利用できない
  • OS_AUTH_SECRET をローテーションするとセッションが無効化される

レガシーの AUTH_SECRET エイリアスを含む、認証関連の設定の完全な一覧については、Environment variables を参照してください。

セッションの分離

マルチプロジェクト構成のデプロイでは、Cookie はプロジェクトのホスト名にスコープされます。ObjectOS は、プロジェクトセッションに対して広範なルートドメイン Cookie を意図的に使用しません。これにより、セッションが顧客プロジェクト間で漏えいすることを防ぎます。

ソーシャルログイン

アプリケーションパッケージが認証設定をどのように公開するかに応じて、プロバイダーの認証情報を環境変数またはシステム設定を通じて設定します。

プロバイダーのコールバック URL はプロバイダーの種類によって異なります。ObjectStack は 2 つの異なるコールバックパスを公開しており、これらは互いに入れ替えできません

プロバイダーの種類コールバックパス
組み込みソーシャル(Google、GitHub、Microsoft、Apple、…)/api/v1/auth/callback/<provider>
汎用 OIDC / OAuth2(Okta、Entra ID、Keycloak、Ping、…)/api/v1/auth/oauth2/callback/<provider>

例:

https://crm.example.com/api/v1/auth/callback/google
https://crm.example.com/api/v1/auth/callback/microsoft
https://crm.example.com/api/v1/auth/oauth2/callback/okta
https://crm.example.com/api/v1/auth/oauth2/callback/entra

ObjectOS でプロバイダーを有効化する前に、アイデンティティプロバイダーのアプリケーション登録で、対応するリダイレクト URI を設定してください。

エンタープライズ OIDC/SSO

OIDC プロバイダーは汎用 OAuth2 プロバイダーとして登録され、/api/v1/auth/oauth2/callback/<provider> パスを使用します。一般的な設定には次が必要です。

フィールド説明
Provider idoktaentra などの安定した id(コールバック URL で使用)
Display nameユーザーに表示されるボタンのラベル
Discovery URL.well-known/openid-configuration エンドポイント
Client idアイデンティティプロバイダーのアプリケーション client id
Client secret環境変数または暗号化された設定に保存されるシークレット
Scopes通常は openid email profile

顧客向けのデプロイでは、手動で設定する authorization/token/userinfo エンドポイントよりも、OIDC ディスカバリ URL を優先してください。

プラットフォーム SSO

クラウド接続されたデプロイでは、ObjectOS はコントロールプレーンのログインをプラットフォーム SSO プロバイダーとして使用できます。すでにコントロールプレーンにサインインしているビルダーは、別のプロジェクトローカルアカウントを作成することなく、プロジェクトランタイムにプロビジョニングできます。

これには、コントロールプレーンと ObjectOS が同じ OS_AUTH_SECRET のベースシークレットを共有している必要があります。すべてのプロジェクトが完全に独立したログイン境界を持つことを顧客が望む場合にのみ、プラットフォーム SSO を無効化してください。

運用上のチェック

本番環境に移行する前に、以下を確認します。

  • 期限切れトークンが 401 を返すことを確認する
  • ログアウトでアクティブなセッションが取り消されることを確認する
  • ポリシーで必要とされる場合、パスワードリセットが他のセッションを取り消すことを確認する
  • コールバック URL が公開プロジェクトドメインと一致することを確認する
  • 信頼されたオリジンに承認済みのドメインのみが含まれることを確認する
  • OS_AUTH_SECRET がソースコードではなくシークレットマネージャーに保存されていることを確認する

次のステップ

認証は、ユーザーがであるかを確立します。サインイン後ににアクセスできるかを制御するには、Permissions を参照してください。ブラウザ以外のクライアントやマシン間アクセスについては、API access を参照してください。

On this page