登録するログイン
ドキュメント価格設定
登録するログイン
  • はじめる
  • 導入
  • クイックスタート
  • SDK
  • React
  • TypeScript
  • Next.js
  • Express
  • NestJS
  • Python
  • APIリファレンス
  • サポートとリソース
  • よくある質問
  • 接触

AuthProvider

AuthProviderは、ReactアプリケーションのAuthSafe認証コンテキストを初期化するルートコンポーネントです。


基本的な使い方

アプリケーションのルートをAuthProviderでラップします。

import { AuthProvider } from 'authsafe-react';

function App() {
  return (
    <AuthProvider
      config={{
        clientId: 'your-client-id',
        redirectUri: 'http://localhost:3000/callback',
      }}
    >
      <YourApp />
    </AuthProvider>
  );
}

プロパティ

財産タイプ必須説明
configAuthConfigYesAuthSafe設定オブジェクト(必須)
childrenReact.ReactNodeYesプロバイダー内でレンダリングする子コンポーネント
queryClientQueryClientNoオプションのカスタム TanStack クエリ クライアント

設定オプション

オプションタイプ必須デフォルト説明
clientIdstringYes—AuthSafe OAuthクライアントID
redirectUristringYes—ログイン後にユーザーがリダイレクトされるURL
scopeArray<AuthScope>No['openid', 'profile']リクエストするOAuthスコープ(スペース区切りの文字列または配列)
env'development' | 'production'No'production'環境:「開発」または「生産」
authoritystringNo'https://authsafe.in'AuthSafe認証局のURL(オプション、環境変数から自動解決されます)
popupRedirectUristringNo—ポップアップ認証用のURI
automaticSilentRenewbooleanNofalseトークンの自動サイレント更新を有効にする

完全な構成例

以下は、すべてのオプションを含む完全な設定例です。

import { AuthProvider } from 'authsafe-react';

function App() {
  return (
    <AuthProvider
      config={{
        clientId: 'your-client-id',
        redirectUri: 'http://localhost:3000/callback',
        scope: ['openid', 'profile', 'email', 'offline_access'],
        env: 'production',
        authority: 'https://authsafe.in',
        popupRedirectUri: 'http://localhost:3000/popup-callback',
        automaticSilentRenew: true,
      }}
    >
      <YourApp />
    </AuthProvider>
  );
}

TanStackクエリ統合

AuthProvider は、データの取得とキャッシュに TanStack Query を使用します。必要に応じて、カスタム QueryClient を渡すこともできます。

import { AuthProvider } from 'authsafe-react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import type { Locale } from '@/utils/locale';

const queryClient = new QueryClient();

function App() {
  return (
    <QueryClientProvider client={queryClient}>
      <AuthProvider
        config={{
          clientId: 'your-client-id',
          redirectUri: 'http://localhost:3000/callback',
          scope: ['openid', 'profile', 'email'],
        }}
        queryClient={queryClient}
      >
        <YourApp />
      </AuthProvider>
    </QueryClientProvider>
  );
}
カスタムクエリクライアント
  • 認証リクエストの自動キャッシュと重複排除
  • 古いデータのバックグラウンド再取得
  • より良いユーザーエクスペリエンスのための楽観的なアップデート
  • 失敗したリクエストに対する組み込みの再試行ロジック
注記
アプリで既に TanStack Query を使用している場合は、既存の QueryClient を AuthProvider に渡してキャッシュを共有してください。

型定義

export interface User {
  sub: string;
  email?: string;
  name?: string;
  email_verified?: boolean;
  [key: string]: any;
}

export type AuthScope = "openid" | "profile" | "email" | "offline_access";

export interface AuthConfig {
  clientId: string;
  redirectUri: string;
  scope?: Array<AuthScope>;
  env?: "development" | "production";
  authority?: string;
  popupRedirectUri?: string;
  automaticSilentRenew?: boolean;
}

export interface AuthProviderProps {
  config: AuthConfig;
  children: React.ReactNode;
  queryClient?: QueryClient;
}
ルートレベルプロバイダー
AuthProviderは、すべてのコンポーネントが認証状態にアクセスできるように、コンポーネントツリーのルートに配置する必要があります。
セキュリティに関する考慮事項
  • フロントエンドコードでクライアントシークレットを公開しないでください
  • 機密性の高い設定には環境変数を使用する
  • シームレスなユーザーエクスペリエンスを実現するために、本番環境でサイレントトークン更新を有効にする
  • 適切な範囲を設定し、必要なものだけを要求してください。

AuthSafe

Product

HighlightFeatureIntegrationPricingFAQ

Company

AboutBlogContact

Developer

DashboardDocumentation

Legal

Terms & ConditionsPrivacyComplianceShippingCancellationAI

© 2026 AuthSafe. All rights reserved.

私たちはあなたのプライバシーを尊重します

このウェブサイトでは、お客様の体験を向上させるために匿名の分析Cookieを使用しています。個人情報の保存や共有は一切行いません。分析トラッキングはいつでも許可または拒否できます。プライバシーポリシーをご覧ください。

匿名の分析Cookieを使用しています。個人情報は保存されません。プライバシーポリシーをご覧ください。