Authentication: Integrating Shared User Context
Este documentação outlines o process for compartilhamento authentication states, such as o current user context, across micro-frontends within uma aplicação shell usando Auth0 e Angular.
Visão geral
In micro-frontend architectures, it's comum para encounter o precisa compartilhe context information such as o current user's dados—across diferente parts do aplicação. Este documento describes como para achieve seamless authentication estado compartilhamento usando @auth0/auth0-angular, uma pacote esse facilitates integração com Auth0, um identity management provider.
Prerequisites
Antes proceeding, ensure você have:
- Uma basic understanding de Angular e micro-frontend concepts.
- Um Auth0 account e uma registered web aplicação on Auth0's management dashboard.
- Angular aplicações definir up com Module Federation.
Step-by-Step Guia
Step 1: Installing o Auth0 Pacote
Instale @auth0/auth0-angular via npm para usar Auth0 for authentication em your Angular aplicações:
Step 2: Configuring Auth0
- Navigate para Auth0's management dashboard e register your Single Page Aplicação (SPA).
- Note down o
domaineclientIdfornecido depois registration. - Add your aplicação's URL (e.g.,
http://localhost:4200) para o Allowed Callback URLs section.
Step 3: Importing o AuthModule
Importe o AuthModule de @auth0/auth0-angular no AppModule de both o shell aplicação e o micro-frontend(s).
Replace YOUR_AUTH0_DOMAIN e YOUR_AUTH0_CLIENT_ID com o actual valores de your Auth0 aplicação settings.
Step 4: Implementing Login Functionality
In your shell aplicação, use o AuthService para implement o login functionality.
Step 5: Displaying User Information
No shell's home componente, display o logged-em user's name.
Step 6: Usando AuthService em Micro Frontends
In your micro-frontend componentes, você pode similarly use AuthService para acessar o current user's information.
Step 7: Configuring Module Federation for Shared Authentication
Ensure o @auth0/auth0-angular pacote é shared across your shell e micro-frontends para maintain uma single authentication estado.
Este configuração ensures uma single instance do AuthService é usado across your aplicação, facilitating uma shared authentication estado.
Conclusion
Following these steps, você pode achieve seamless authentication estado compartilhamento across micro-frontends em your Angular aplicações. Este configuração não apenas simplifies managing user contexts but também enhances o overall user experience by maintaining consistent authentication states across your aplicação's modular componentes.