ホームページ > ウェブフロントエンド > jsチュートリアル > Clerk を使用した React アプリケーションの認証の簡素化

Clerk を使用した React アプリケーションの認証の簡素化

Patricia Arquette
リリース: 2024-12-02 06:44:13
オリジナル
340 人が閲覧しました

Web アプリケーションにはユーザー認証が不可欠です。
個人的なフードデリバリー アプリ プロジェクトに取り組んでいたとき、安全で統合が簡単なソリューションが必要でした。そこで Clerk を発見しました。これは、React とシームレスに連携する、強力でカスタマイズ可能な認証ライブラリです。 Clerk は、簡単なサインアップ/サインイン、OAuth、ソーシャル ログインを提供します。

この記事では、Clerk を React アプリケーションにどのように統合したか、どのようにして迅速に起動して実行できるようにしたか、そして個人開発者にとって認証に Clerk が優れた選択肢であると私が考える理由を共有します。

なぜ事務員なのか?

認証ソリューションの調査を開始したとき、利用可能なオプションの多様性に圧倒されました。多くのツールは柔軟性を備えていましたが、大規模なセットアップとメンテナンスが必要でした。そして、次の点で際立った Clerk を見つけました。

  • 使いやすさ: Clerk は、React にシームレスに統合される、サインイン、サインアップ、ユーザー プロファイル管理用の事前構築済みコンポーネントを提供します。
  • セキュリティ: クラークは、最新のセキュリティのベスト プラクティスに準拠して、トークン管理やセッション ストレージなどの機密性の高い認証フローを処理します。
  • 開発者重視: 詳細なドキュメントと直感的な API により、学習曲線が短縮されます。

React アプリでの Clerk のセットアップ

Clerk のセットアップは簡単でした。これを React アプリケーションに追加した方法の簡単な概要を次に示します。

ステップ 1: サインアップして Clerk プロジェクトを作成する

まず、Clerk のダッシュボードで新しいプロジェクトを作成します。
以下のスクリーンショットに示すように、セットアップ中にサービス名をすぐに設定し、認証方法を選択できるため、カスタマイズが迅速かつ簡単になります。作成すると、統合用の API キーとフロントエンド API URL を取得します。

Simplifying Authentication in React Applications with Clerk

ステップ 2: Clerk パッケージをインストールする

npm install @clerk/clerk-react
ログイン後にコピー
ログイン後にコピー

パッケージをインストールした後、必要な環境変数を設定します。
VITE_CLERK_PUBLISHABLE_KEY は、Clerk ダッシュボードから取得できます

VITE_CLERK_PUBLISHABLE_KEY=YOUR_PUBLISHABLE_KEY
ログイン後にコピー
ログイン後にコピー

ステップ 3: ClerkProvider を構成する

認証に必要なコンテキストを提供する ClerkProvider コンポーネントでアプリケーションをラップします。

import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.tsx'
import './index.css'
import { ClerkProvider } from '@clerk/clerk-react'

const PUBLISHABLE_KEY = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY

if (!PUBLISHABLE_KEY) {
  throw new Error('Add your Clerk publishable key to the .env.local file')
}

ReactDOM.createRoot(document.getElementById('root')!).render(
  <React.StrictMode>
    <ClerkProvider publishableKey={PUBLISHABLE_KEY} afterSignOutUrl="/">
      <App />
    </ClerkProvider>
  </React.StrictMode>,
)
ログイン後にコピー

ステップ 4: サインイン コンポーネントとサインアップ コンポーネントをヘッダーに追加する

Clerk コンポーネントをアプリのヘッダーに統合しましょう。
この例では、Clerk の を使用します。および <サインアウト>コンポーネント。

  • <サインイン>ユーザーがログインしている場合にのみ子をレンダリングします。
  • <サインアウトしました>ユーザーがログインしていない場合にのみ、その子をレンダリングします。
npm install @clerk/clerk-react
ログイン後にコピー
ログイン後にコピー

ステップ 5: ルートを保護する

ユーザーの認証ステータスに基づいて、特定のルートへのアクセスを制限できます。

VITE_CLERK_PUBLISHABLE_KEY=YOUR_PUBLISHABLE_KEY
ログイン後にコピー
ログイン後にコピー

事務員は他に何ができるでしょうか?

Clerk は、アプリの認証システムを強化するためにさらに多くの機能を提供します:

  • OAuth およびソーシャル ログイン: Google、GitHub、Twitter などのプロバイダーとログインを簡単に統合します。
  • 多要素認証 (MFA): SMS または認証アプリを使用してセキュリティ層を追加します。
  • パスワードレス認証: マジック リンクまたはワンタイム パスコードを使用して、ユーザー エクスペリエンスをよりスムーズにします。
  • ユーザー プロファイル: 追加フィールドを使用してユーザー プロファイルをカスタマイズおよび管理します。
  • ロールベースのアクセス制御 (RBAC): ユーザーのロールに基づいて機能へのアクセスを制限または許可します。
  • Webhook: サインアップやプロフィール更新などのイベントの Webhook を使用してワークフローを自動化します。

なぜソロ開発者にとって事務員なのか?

Clerk は個人開発者にとっての変革をもたらすツールです。最小限のセットアップが必要なので、ユーザー認証とセキュリティの複雑さを処理しながら、コア機能の構築に集中できます。完全に機能するログイン システムを 1 時間以内に実装し、時間を節約できました。

結論

Clerk は、高速かつ安全でカスタマイズ可能なソリューションを提供することで、React アプリケーションでの認証を簡素化します。小規模なアプリを構築する場合でも、より大規模なプラットフォームを構築する場合でも、Clerk は堅牢な認証システムを手間なく実装するために必要なものをすべて提供します。

参考文献:

?事務員の文書

以上がClerk を使用した React アプリケーションの認証の簡素化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート