このチュートリアルでは、Auth0を使用したトークンベースの認証を介して認証されたユーザーにのみアクセスできるプライベート取引を備えた、パブリックおよびプライベート取引を特徴とする角度アプリケーション(「Daily Deals」)の構築を実証しています。 Angular CLIは、開発、ルーティングの管理、コンポーネントの生成、およびビルドを合理化します。 HTTPCLIENTモジュールは、データ取得のためにAPI相互作用を促進します。 Simple Node.jsサーバーは、承認ヘッダーのJWTSを確認するミドルウェアによって保護されているルートを使用して、取引データを提供します。 APIエンドポイントのセキュリティ、クライアント側の認証処理、Angularアプリケーション内のユーザー認証状態の管理など、チュートリアルの詳細Auth0統合。
AngularはAngularjs 1.xを超越し、フレームワークから最新のアプリケーション開発のための包括的なプラットフォームに進化します。 重要な進歩には、サーバー側のレンダリングと材料設計の公式統合が含まれます。
毎日の取引アプリケーションの概要概要:
「Daily Deals」アプリは、公開および私的な取引を紹介しています。 プライベート取引は、登録ユーザー専用です
基本的なnode.jsサーバーは、データソースとして機能します。 当初、パブリックおよびプライベートの取引ルートの両方が公開されています。 取引データ構造は次のとおりです
フロントエンド(角度)セットアップ:
{ id: 1234, name: 'Product Name', description: 'Product Description', originalPrice: 19.99, salePrice: 9.99 }
)がアプリケーション構造を作成します。 後続のコマンドは、コンポーネント()、サービス()、および取引オブジェクトのクラスを生成します。 HTTPリクエストの場合、
モジュールがに追加されます。 ブートストラップCSSはスタイリングに含まれています
ng new ng2auth --routing --skip-tests
ng g c ...
rootコンポーネント(ng g s deal
):HttpClient
app.module.ts
ルーティング(app.component.ts
):
ルートは、公開取引、プライベート取引、およびAuth0コールバックのために定義されています。
dealタイプ():app-routing.module.ts
クラスは、タイプの安全性と改善されたコード保守性のための取引オブジェクトの構造を定義します。
パブリックおよびプライベート取引コンポーネント: deal.ts
これらのコンポーネントは、それぞれのAPIエンドポイントから取引をフェッチおよび表示します。 エラー処理と購入通知が実装されています
取引サービス(Deal
このサービスは、node.jsサーバーからパブリックおよびプライベート取引を取得するためにHTTPリクエストを処理します。 Auth0認証の追加:
auth0はユーザー認証のために統合されています。 APIはAuth0ダッシュボードで作成され、サーバーはJWTミドルウェアを使用して保護されます。 Angularアプリケーションでは、auth0 SDK(npm install auth0-js --save
)を使用します。 Auth0構成の詳細を保存します。environment.ts
の環境変数
認証サービス():auth.service.ts
): auth.guard.ts
an
AuthGuard
コールバックコンポーネント(
callback.component.ts
このコンポーネントはAuth0コールバックを処理し、認証応答を処理し、ユーザーセッションを設定します。
メソッドには、アクセストークンを備えた承認ヘッダーが含まれています。
アプリケーションのテスト:getPrivateDeals()
auth0構成をセットアップした後、アプリケーションをテストできます。 Auth0ログインページにリダイレクトをログインし、認証が成功した後、プライベート取引がアクセス可能になります。
結論:
この包括的なチュートリアルは、Auth0を使用して安全で認証された角度アプリケーションを構築するための堅牢な基盤を提供します。 ルートガードや適切なトークンの取り扱いを含むベストプラクティスの使用により、安全でユーザーフレンドリーな体験が保証されます。 FAQSセクションでは、ソーシャルログイン、エラー処理、および高度なAuth0機能に関する一般的な質問に対応しています。
以上がAngularおよびAuth0を使用した認証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。