Auth0の設定
http://localhost:4200
に設定します。http://localhost:4200
に設定します。http://localhost:4200
に設定します。Auth0 Angular SDKのインストール
npm install @auth0/auth0-angular
SDKは、モジュールや認証サービスを含む、AngularアプリケーションでAuth0を慣用的に統合するのに役立ついくつかの型を公開しています。Auth0の登録と提供
provideAuth0
をエクスポートしています。これはSDKが機能するために必要なすべてのサービスを含む提供関数です。これをアプリケーションに登録するには:main.ts
ファイル。provideAuth0
パッケージからインポートします。@auth0/auth0-angular
パッケージ。provideAuth0
内のproviders
に追加してアプリケーションに追加します。bootstrapApplication
。AuthService
に注入します。AppComponent
。provideAuth0
プロパティとdomain
を取ります。clientId
これらのプロパティの値は、Auth0に登録したシングルページアプリケーション(SPA)のドメインとクライアントIDの値に対応します。これらは設定で見つけることができます。さらに、authorizationParams.redirect_uri
を設定します。これにより、Auth0は認証が成功した後、ユーザーを特定のURLにリダイレクトすることができます。アプリケーションにログインを追加する
loginWithRedirect()
メソッドをAuthService
クラスから使用して、ユーザーをAuth0 Universal Loginページにリダイレクトし、Auth0が認証を行います。ユーザーが正常に認証されると、このクイックスタートの前半で設定したコールバックURLにアプリケーションにリダイレクトされます。アプリケーションに選択時にloginWithRedirect()
を呼び出すログインボタンを作成します。アプリケーションにログアウトを追加する
logout()
メソッドをAuthService
クラスで提供しており、これを使用してアプリからユーザーをログアウトさせることができます。ユーザーがログアウトすると、Auth0ログアウトエンドポイントにリダイレクトされ、そこからすぐにアプリケーションと、このクイックスタートの前半で設定したログアウトURLにリダイレクトされます。アプリケーションに選択時にlogout()
を呼び出すログアウトボタンを作成します。isAuthenticated$
オブザーバブルをAuthService
クラスで公開しており、これを使用してユーザーが認証されているかどうかを確認できます。isAuthenticated$
オブザーバブルの値に基づいて、ログインボタンとログアウトボタンを条件付きでレンダリングできます。あるいは、単一のボタンを使用して、ログインとログアウトの両方のボタンとその条件付きレンダリングを組み合わせることもできます。ユーザープロファイル情報を表示する
user$
オブザーバブルを通じてユーザー情報を提供します。これはAuthService
クラスによって公開されています。user$
オブザーバブルにはユーザーのアイデンティティに関連する機密情報とアーティファクトが含まれているため、その可用性はユーザーの認証状態に依存します。幸いなことに、user$
オブザーバブルはisAuthenticated$
オブザーバブルがtrueの場合にのみ値を発行するように設定されているため、ユーザープロファイルデータにアクセスする前に手動で認証状態をチェックする必要はありません。SDKはまた、isAuthenticated$
オブザーバブルをAuthService
クラスで公開しており、これを使用してユーザーが認証されているかどうかを確認できます。例えば、UIエレメントを表示するか非表示にするかを決定するのに使用できます。インタラクティブパネルのUserProfileComponent
コードを確認して、これらの関数の使用例を見てください。