メインコンテンツへスキップ
早期アクセス:この機能は現在早期アクセスで利用できます。これを使用することで、 Oktaのマスターサブスクリプション 契約の該当する無料トライアル条件に同意したことになります。リリース段階の詳細 →

前提条件

Auth0アカウントauth0.comで登録します - React 16.11以降:このパッケージはReact 17、 18、19を含むReact 16.11.0以上をサポートします - Tailwind CSS 3以降Tailwind CSSインストール ガイドに従います

インストール

npm install @auth0/universal-components-react react-hook-form @auth0/auth0-react
**npm/pnpm:**必要なピア依存関係(react-hook-form@auth0/auth0-react)をもつパッケージをインストールします。**shadcn:**コンポーネントのソースコードと、共有ユーティリティとAuth0統合の@auth0/universal-components-core依存関係をインストールします。

クイックスタート

1. アプリをAuth0ProviderおよびAuth0ComponentProviderでラップする

App.tsx
import { Auth0Provider } from "@auth0/auth0-react";
import { Auth0ComponentProvider } from "@auth0/universal-components-react/spa";
import "@auth0/universal-components-react/styles";

const authDetails = {
  domain: import.meta.env.VITE_AUTH0_DOMAIN,
};

function App() {
  return (
    <Auth0Provider
      domain={authDetails.domain}
      clientId={import.meta.env.VITE_AUTH0_CLIENT_ID}
      authorizationParams={{
        redirect_uri: window.location.origin,
      }}
    >
      <Auth0ComponentProvider authDetails={authDetails}>
        {/* Your app components */}
      </Auth0ComponentProvider>
    </Auth0Provider>
  );
}

2. Auth0ユニバーサルコンポーネントを使用する

コンポーネントにはAuth0テナントの構成が必要です。各コンポーネントのページでセットアップ要件を確認してください。
OrganizationManagementPage.tsx
import { useAuth0 } from "@auth0/auth0-react";
import { OrganizationDetailsEdit } from "@auth0/universal-components-react/spa";

function OrganizationManagementPage() {
  const { isAuthenticated, isLoading } = useAuth0();

  if (isLoading) return <div>読み込み中...</div>;
  if (!isAuthenticated) return <div>ログインしてください</div>;

  return (
    <div>
      <OrganizationDetailsEdit />
    </div>
  );
}

構成

Auth0ComponentProviderは、すべてのコンポーネントの認証、キャッシュ、国際化、トースト通知を管理します。
<Auth0ComponentProvider
  authDetails={{ domain: "your-tenant.auth0.com" }}
  i18n={{ currentLanguage: "en" }}
  themeSettings={{ mode: "light", theme: "default" }}
>
  {/* Your app components */}
</Auth0ComponentProvider>

Auth0ComponentProvider

認証、テーマ設定、i18n、トースト通知、TanStack Queryキャッシュオプションを構成する

スタイリング

クイックスタートでスタイルシートをインポートする(@auth0/universal-components-react/styles)ことですべてのコンポーネントスタイルを有効にできます。
Tailwind v4を利用している場合:@import "@auth0/universal-components-react/tailwind"をCSSファイルに追加します。shadcnを利用している場合: インポート不要。スタイルはすでにTailwindビルドに含まれています。
CSS変数でブランドに合わせてカスタマイズ:
:root {
  --primary: #4f46e5; /* your brand color */
  --primary-foreground: #ffffff; /* text on buttons */
}

Styling & Theming Guide

テーマプリセット、ダークモードサポート、CSS変数、スタイリングオプションを含む、ブランドに合わせたコンポーネントの外観のカスタマイズ方法を詳しくご覧ください。

実装例

完全な実装例について、サンプルアプリケーションを参照してください。

Code Examples

React SPA(npm)、React SPA(shadcn)、およびNext.jsの完全な実装パターン付きサンプルアプリケーション