Blazor et Supabase, Authentification - Part 2

Suite de l'article sur Blazor et Supabase, dans cette partie nous allons mettre en place l'authentification
Banner Image Blazor et Supabase, Authentification - Part 2
Publié par phnogues le octobre 28, 2024

English version here

Part 1 : Base de données
Part 2 : Authentification
Part 3 : Temps réel


Introduction:

Un des atouts de Supabase, c'est de gérer tout ce qui concerne l'authentification ainsi que les autorisations de votre application.
Plusieurs providers sont disponibles comme le mail/mot de passe mais également la pluspart des providers du marché (SAML, Microsoft, Facebook, Google, Apple, Linkedin, ...)

La mise en place dans une application Blazor n'était pas très simple car il y a peu de documentation sur ce sujet.
C'est la raison pour laquelle j'ai décidé de créer ces articles.
Certaines classes C# proviennent d'anciens projets persos ou de classes découvertes sur GitHub. Mais pour vous, ce sera très simple à implémenter !

Comme précédemment, ne pas oublier de cloner ou parcourir le projet GitHub de référence : https://github.com/phnogues/Blazor.Supabase/

Le type d'authentification que j'ai choisi sera l'utilisation d'un Token JWT.
Il y a de nombreuses possibilités que je décrirai pas ici. N'hésitez pas à me laisser un commentaire pour en savoir plus.

C'est parti !

Mise en place:

Ici, je ne vais pas copier le code, ce serait trop difficile à digérer, prenez le temps de parcourir le projet GitHub.

Prérequis:

Dans le code je vous invite à regarder les classes suivantes :

// Authenticated services
builder.Services.AddTransient<AuthService>();
builder.Services.AddTransient<UserService>();
builder.Services.AddScoped<AuthenticationStateProvider, SupabaseAuthenticationStateProvider>();
builder.Services.AddSingleton<IAuthorizationMiddlewareResultHandler, BlazorAuthorizationMiddlewareResultHandler>();
builder.Services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

Part 3 -> https://pierrehenri.fr/fr/blog/blazor-et-supabase-temps-reel-part-3

.Net
.Net Blazor Supabase

Commentaires :