Affichage des articles dont le libellé est IdentityServer4. Afficher tous les articles
Affichage des articles dont le libellé est IdentityServer4. Afficher tous les articles

IdentityServer4 Manage List of Users

C'est toujours la même question car je n'ai pas trouvé de réponse, comment manager mes utilisateurs avec IdentityServer4 ? Quelle est la frontière entre IS4 et .NET Identity. Qui ressemble, pour les anciens, à l'ASP.NET DB.

ASP.NET Core Identity - Authentification

Je suis surpris que l'on nous laisse entre les mains des créateurs de l'IdnetityServer4 avec une version payante de l'AdminUI (version à 500 L, oui c'est de l'english, pour la moins chère) qui en plus ne correspond pas à mon besoin car je souhaite simplement une DataView ou une GridView sur la tables de mes utilisateurs pour manager mes Users et leurs rôles au sein de mon application Web ASP.NET Core.

Je n'ai pas besoin de tout le tintouin configuration des clients c'est déjà fait, Policy, Claims, ... bref je vais la développer cette Interface de Gestion des Utilisateurs. Mais avant de définir les specs de mon projet, je suis prudent et je regarde plus avant ce que je peux faire avec IdentityServer4 ...

Role Based Security in an ASP.NET Core Application
DotNetCurry ! Ils ont de l'humour ces gars là, vous ne trouvez pas ! Avec ce nom vous pensez qu'ils sont indiens, certainement.

AspNetCore Identity - Tables

Pour enregistrer un utilisateur, il faut commencer par créer des Rôles afin d'enregistrer l'utilisateur avec son Rôle.

AspNetCore Identity - Roles cretation

Ce qui se traduit dans la base de données par le contenu de la Table AspNetRoles suivant :

AspNetCore Identity - AspNetRoles

Et dans la Table AspNetUser Roles par :

AspNetCore Identity - AspNetRoles

On a fait le tour de la gestion des Rôles mais il faudrait que l'on puisse ajouter un User dans un Rôle ou retirer un User d'un Rôle.

Et pour continuer, voici l'excellent site :

YOGIHOSTING » ASP.NET CORE » HOW TO WORK WIT...
Finalement j'ai eu du mal à trouver mais là il y a tout, tout ce que je veux pour réaliser mon application idéale de Gestion des Utilisateurs de mon application Web.

https://www.yogihosting.com/aspnet-core-identity-create-read-update-delete-users/

Merci à cette équipe et oui il s'agit bien de toute une équipe ...

ABOUT THE AUTHOR
This article has been written by the Technical Staff of YogiHosting. Check out other articles on "ASP.NET Core, jQuery, EF Core, SEO, jQuery, HTML" and more.


Maintenant, il ne reste plus qu'à intégrer tout cela dans mon projet StsIdentityServer4.

Il y a un bel exemple de poursuite du développement sur la base d'un IdentitytServer4 c'est ici :

GitHub - BenjaminAbt / Samples.AspNetCore-IdentityServer4

Et sinon, nous avons maintenant notre propre IdentityServer4 avec Gestion des Utilisateurs, n'hésitez pas à nous contacter. Nous mettrons surement prochainement en ligne les codes sources si vous nous en faites la demande (gentiment ;-).

IdentityServer4 How To Manage Users and Roles and Community

Evidemment, pour répondre à ce besoin, il y a le site payant avec leur AdminUI mais je suis déçu, je n'ai passé que très peu de temps à m'enregistrer et a lire la documentation mais surtout c'est une "application de poste". Je souhaitais une application web de management de mes utilisateurs.

Identity Server - ASP.NET Core solution
IdentityServer4 - Site Commercial - ASP.NET Core

Voici le site de l'AdminUI :

IdentityServer4 - AdminUI
IdentityServer4 - AdminUI ~ 500 $

J'ai installé les templates, dedans il y en a un qui s'appelle is4admin mais si vous croyez qu'il y a la moindre UI de Gestion des utilisateurs et des Roles là dedans, je crois que c'est raté !

https://github.com/IdentityServer/IdentityServer4.Templates

Si j'installe tout et si je fais :

http://localhost:5000/admin

Il ne se passe rien ! Pas d'Admin !

IdentityServer4 - ASP.NET Core solution
is4aspid - IdentityServer4 - ASP.NET Core

Les sources de ce serveur d'authentifications sont Ici :

https://github.com/IdentityServer

Une fois entré avec The default users are alice/bob, password: Pass123$

On ne peut plus rien faire, tout le site ne consiste qu'à gérer les configurations des sources de IdentityServer4, donner quelques bases sur le configuration de votre client qu'il soit MVC, API, Angular ou autre et puis c'est tout.

IdentityServer4 - ASP.NET Core solution
Login into is4aspid project an ASP.NET Core Solution

J'essaye de titiller les différents contrôleurs : Grants :

IdentityServer4 - ASP.NET Core solution
IdentityServer4 - ASP.NET Core - Samples for Grants

Aucun exemple pour découvrir comment attribuer des Grants à Alice Smith. Grrr.

Franchement avec tous ces trucs UI is4ui et autres, je pensais trouver mieux, il n'y a pas même un formulaire de Register.

Tout le reste consiste à nous montrer que leur Server d'Identité fonctionne mais de façon pratique rien n'est codé du côté UI. Il faut aller acheter sur le site :


Dont la documentation est fournie Ici :


Alors si je vais voir ailleurs avec les mots clefs : AdminUI for IdentityServer4 ...
un peu plus loin il y a :


Mais le gars Skoruba,, il plombe son projet avec tout un tas de trucs c'est très compliqués ça va surement devenir payant.

Il y a lui, Asad Sahi :

https://github.com/asadsahi/AspNetCoreSpa

Il y réussi a installer un IdentityServer sur une machine mais bon ... c'est tout Grrrr.

Ou encore cette page répertoire des projets OpenSource

https://awesomeopensource.com/projects/identityserver4
C'est une sorte de répertoire des projets Open Source : "The Top 28 Identityserver4 Open Source Projects" j'y retrouve les projets que je connais déjà.

Skoruba/IdentityServer4.Admin
Trop compliqué ! Et puis il met son nom partout Skoruba par ci Skoruba par là, ça ne fait pas très pro en tous les cas il y a du code plein de code.

Si j'avais un tel projet à créer et à développer je l'appellerai IdentityServer4.AdminUI

Franchement quand je regarde :

https://dotnetnew.azurewebsites.net/template/IdentityServer4.Templates/IdentityServer4.Admin

J'ai l'impression que l'AdminUI est dedans ....

J'ai créé un nouveau projet à partir de la commande suivante :

PS>dotnet new is4admin

Et j'ai créé ainsi un projet un peu différent est ce la réinstalle du Template ... mystère.

J'ai deux bases de données :

{
  "ConnectionStrings": {
    "Users": "Data Source=AspIdUsers.db;",
    "Configuration": "Data Source=IdentityServer.db;"
  }
}

Donc maintenant, j'en suis sûr je me suis trompé de template certainement en instanciant le premier exemplaire.

IdentityServer4 AdminUI

J'ai enfin accès en instanciant un projet avec la commande. Je me lance dans une exploration rapide.
Exécution de l'application :

IdentityServer4 AdminUI - ASP.NET Core
IdentityServer4 AdminUI - ASP.NET Core

Alors où vais-je me retrouver quand j'aurais cliqué sur ce lien ? C'est une DLL intégrée certainement avec de l'obfuscationdans. Le site principal dit :

The community edition is intended for testing IdentityServer integration scenarios and is limited to localhost:5000, SQLite, 10 users, and 2 clients. The community edition is not suitable for production.

See identityserver.com for more information about AdminUI or to request a trial license.


Ok Start !

IdentityServer4 AdminUI découverte
IdentityServer4 AdminUI - Découverte

Je me retrouve enfin dans l'Administration du Serveur IdentityServer4, ce n'est pas trop tôt.

IdentityServer4 AdminUI - Découverte enfin l'UI

Je peux alors ajouter un utilisateur :

IdentityServer4 AdminUI - Ajouterun Utilisateur
IdentityServer4 AdminUI - Ajouter un Utilisateur

Je passe par l'onglet Claim Types un truc intéressant une liste de Claims je choisi birthdate je peux la rendre obligatoire et éditable par l'utilisateur par contre au moment de sauver :

IdentityServer4 AdminUI - Claim Types

Grrrr ça paraissait simple, j'oblige les nouveaux utilisateur à entrer leur date de naissance et je la rends éditable ... mais non ... je verrai ça plus tard.

Du coup je me dis que je devais supprimer tous les utilisateur pour modifier la structure de la base mais c'est pas ça GRRRR.

Je clique par hasard sur Active et je restore mon utilisateur.

IdentityServer4 AdminUI - Restore un utilisateur

Voilà un tour super rapide de l'interface, c'est bien ce que j'attends de l'AdminUI d'IdentityServer4 mais c'est dommage parce que je pensais bien que ce boulot était fait et non payant.

En plus sur ce genre de produit, c'est toujours la même chose, ils déclinent dans toutes les langues sur toutes les plateformes, dans tous les langages de programmation et cela devient bien trop compliqué.

Pour aller plus loin, encore un peu de lecture :

Visitez notre implémentation de l'IdentityServer4

Pour visiter en ligne, notre implémentation, voici l'IdentityServer4 de SoDevLog :

Welcome and Register to IdentityServer4 by SoDevLog

Sur ce formulaire d'enregistrement de l'utilisateur vous pouvez constater qu'il y a des champ supplémentaire que nous désirons recueillir de la part de nos utilisateurs :

  • Date de naissance
  • Société
  • Addresse

Suivant la façon dont l'utilisateur rempli ces champs, nous pouvons immédiatement en déduire ses intentions.

Nous cherchons à acquérir de vrais clients motivés qui doivent passer un peu de temps à remplir correctement ces champs.

IdentityServer4 Client Angular comment passer de Http à Https

Comment installer mon application Angular CLI derrière https au lieu http ? Je trouve la solution en compilant les informations qui sont dans les deux pages suivantes :

Running Angular CLI over HTTPS with a Trusted Certificate

Using Angular CLI to serve over https locally

Mais je trouve que ces deux pages sont incomplètes toutes les deux. Du coup j'ai envie de prendre quelques notes supplémentaires.

Avec OpenSSL on génère le Certificat server.crt et la Clef server.key. J'exécute le bash suivant :

Génération du Certificat et de la Clef associée
Génération du Certificat et de la Clef associée pour servir Angular derrière Https

Avec PowerShell, j'exécute le bash generate.sh voici le fichier generate.sh 

#!bin/bash

openssl req \
    -newkey rsa:2048 \
    -x509 \
    -nodes \
    -keyout server.key \
    -new \
    -out server.crt \
    -config ./openssl-custom.cnf \
    -sha256 \
    -days 365

Voici le fichier openssl-custom.cnf :

[req]
default_bits = 2048
prompt = no
default_md = sha256
x509_extensions = v3_req
distinguished_name = dn

[dn]
C = US
ST = KS
L = Olathe
O = IT
OU = IT Department
emailAddress = webmaster@example.com
CN = localhost

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = *.localhost
DNS.2 = localhost

Que vous devez mettre à votre propre sauce.

Ensuite, On l'installe le certificat sur le serveur IIS, en double cliquant sur le fichier serveur.crt de la façon suivante :

Génération du Certificat et de la Clef associée pour servir Angular derrière Https
Angular & Https 

Il faut installer le Certificat dans le bon "entrepôt" dans Trusted Root Certificat Authorities

Génération du Certificat et de la Clef associée pour servir Angular derrière Https
Génération du Certificat et de la Clef associée pour servir Angular derrière Https

Dans l'application Angular, créer un répertoire "ssl" sous la racine de l'application, placer le certif et la clef dans ce répertoire.

On installe la commande pour servir l’application à l'adresse https://localhost:4200/

\Samples\AngularASPNETCoreOAuthApp\AngularASPNETCoreOAuth\src\Spa\oauth-client\package.json

{
  "name": "oauth-client",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --ssl --ssl-key .\\ssl\\server.key  --ssl-cert .\\ssl\\server.crt",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

ssl
ssl\server.key
ssl\server.crt

Pour lancer mon application Angular, depuis Visual Studio Code la commande est maintenant :

>npm start

Mon application Angular et mon serveur IndentityServer4 derrière Https

Et voici le petit cadenas qui montre bien que mon application Angular se trouve maintenant derrière une adresse Https.

Ce post vous a aidé dans votre pratique professionnelle, n'hésitez pas laisser votre commentaire.

Pour en lire plus sur la Certification Https :

ODL - Comment passer mon site en https ?

Authentification des Applications ASP.NET Core avec IdentityServer4 et Identity EF Core

Après un article complet sur le sujet de l'authentification des applications web. Je souhaite élargir mes connaissances à la découverte et à l'utilisation d'IdentityServer4.

Petite note personnelle, je suis très surpris de trouver ce code soruce :

\AngularAspNetCoreAuthen\Areas\Identity\Pages\Account\Register.cshtml.cs
namespace AngularAspNetAuthen.Areas.Identity.Pages.Account
{
    [AllowAnonymous]
    public class RegisterModel : PageModel
    {
        private readonly SignInManager<ApplicationUser> _signInManager;

\AspNetCoreMvcAuthen\Areas\Identity\Pages\Account\Register.cshtml.cs
namespace AspNetCoreMvcAuthen.Areas.Identity.Pages.Account
{
    [AllowAnonymous]
    public class RegisterModel : PageModel
    {
        private readonly SignInManager<IdentityUser> _signInManager;


C'est curieux on dirait bien que le model d'application ASP.NET Core Angular est plus évolué que celui d'MVC ... à méditer.

Bon, maintenant que je sais faire du Scaffolding sur L'Identity voici après étude des différentes solutions, le modèle de base que je vais utiliser :

https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate


https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate
IdentityServer4 AspNetCore IdentityTemplate

An ASP.NET Core IdentityServer4 Identity Template with Bootstrap 4 and Localization

Il y a de nombreux mélanges dans l'IdentityServer, on trouve certains nombre développeurs très doués qui se sont approprié le code source mais la communauté open source de base se trouve Ici :


Avec 273 contributors. 

Octobre 2020, On dirait qu'il y a un nouveau start pour IdentityServer4.

13 mai 2020 c'est très récent je trouve un article :

IdentityServer OpenID Connect (OIDC) OAuth 2.0 pour ASP.NET Core, IdentityServer pour implémenter le SSO (Single Sign-On) Attribution de Jeton aux applications.

C'est véritablement le point d'entrée de l'IdentityServer Moderne avec tout ce qu'il faut :

Welcome to IdentityServer4 (latest)

Single Sign-on / Sign-out
Single sign-on (and out) over multiple application types.

Pour terminer je vous laisse avec le côté commercial de l'open source et oui car il y a un côté commercial c'est ici :



Comment faire des Logs dans ASP.NET Core C#

Cela fait cent fois que l'on parle de log nous avons résolut le problème avec Log4Net pendant deux bonnes décennies mais c'est comme tout, les choses changent. Alors aujourd'hui ce qui est le mieux intégré à ASP.NET Core c'est Serilog.

Qu'à cela ne tienne, allons y rapidement, pour faire des Logs dans mon Projet ASP.NET Core avec Serilog le plus simplement du monde.

Il faut installer les packages suivants :

NuGet Packages  pour Serilog avec ASP.NET C#

C'est bon de la noter car maintenant chaque fois que j'instancie un nouveau projet, je me vois obligé de copier ces quelques lignes dans mon nouveau projet tellement c'est simple et efficace.

Dans mon fichier Startup.cs
J'écris le code de la fonction suivante :

private void ConfigureLoggerFactory( ILoggerFactory loggerFactory )
{
    string date = DateTime.Now.ToString();
    date = date.Replace( "/", "" );
    date = date.Replace( " ", "_" );
    date = date.Replace( ":", "-" );
    string logfileName = $"Log/log_{date}.txt";

    var serilog = new LoggerConfiguration()
        .MinimumLevel.Verbose()
        .Enrich.FromLogContext()
        .WriteTo.File( logfileName );


    loggerFactory.WithFilter( new FilterLoggerSettings
     {
         { "IdentityServer4", LogLevel.Debug },
         { "Microsoft", LogLevel.Warning },
         { "System", LogLevel.Warning },
     } ).AddSerilog( serilog.CreateLogger() );
}


Que j'appelle dans la fonction Configure de la façon suivante :

public void Configure( IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory )

ConfigureLoggerFactory( loggerFactory );

Voilà, l'intérêt de faire ainsi, c'est que l'on récupère des logs en provenance des modules System, Microsoft, et IdentityServer4.

N'oubliez pas de consulter :

C#.NET - Serilog Log Not Working

Pour savoir comment configurer les Logs.

CQFD

Comment ajouter des données personnelles aux Base d'authentification ASP.NET Core ?

De base il y a le nom, l'adresse email, la structure d'une application ASP.NET Core concernant l'authentification est déjà assez complète mais je souhaite y ajouter des données personnelles sur l'utilisateur âge ou date de naissance, adresse, localisation qu'il va pouvoir gérer dans son profile au sein de mon Application Web ASP.NET Core.

https://identityserver.io/
Authentification dans les application ASP.NET Core & Angular

Je crois que quasiment tout le travaille est déjà fait ...

Microsoft - Ajouter, télécharger et supprimer des données utilisateur personnalisées pour l’identité dans un projet ASP.NET Core

En continuant mes recherches, je trouve ce projet et cet auteur qui me semble bien avancé :

Mark Macneil - User Authentication and Identity with Angular, Asp.Net Core and IdentityServer
Ce qui est un petit peu ennuyeux pour ne pas dire plus, c'est la disparité de tous ces projets. Je clone

https://github.com/mmacneil/AngularASPNETCoreOAuth

et je m'intéresse précisément au projet suivant :

https://github.com/mmacneil/AngularASPNETCoreOAuth/tree/master/src/AuthServer

Car je souhaite également déployer une application d'Authentification pour authentifier des utilisateurs dans mes applications Angular.

Je lance la solution dans mon Visual Studio, jusque là tout vas bien, mais quand je souhaite créer la base de données, je vais dans la console Package Management Console :

PM> update-database

Et là ce sont des insultes jusqu' à ce que je comprenne que le package :

Microsoft.EntityFrameworkCore.Tools

N'est pas installé et pourtant cette commande en dépend, allons y installons ce package pour ce projet:

PM> Install-Package Microsoft.EntityFrameworkCore.Tools

Mais là pareil, un flot d'injures le tout en rouge dans ma PMC, jusqu'à ce que je mette à jour la version des packages ...

Mise à jour des packages autour d'EntityFrameworkCore  pour installer EntityFrameworkCore.Tools
Mise à jour des packages autour d'EntityFrameworkCore  pour installer EntityFrameworkCore.Tools

Cette fois, je vais enfin pouvoir exécuter la fameuse commande :

PM> update-database

Et bien non rien à faire ...

Update-database

Your startup project 'AuthServer' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.

Cette fois j'en ai ras le bol, je pars, je reviendrai demain ...

Le lendemain ... Reprenons calmement ...

J'installe le package Microsoft.EntityFrameworkCore.Design pour le projet principal AuthServer

Install package Microsoft.EntityFrameworkCore.Design

Je me positionne dans le répertoire de l'Infra :

PM> cd .\AuthServer.Infrastructure
PM> update-database
Build started...
Build succeeded.
More than one DbContext was found. Specify which one to use. Use the '-Context' parameter for PowerShell commands and the '--context' parameter for dotnet commands.
PM>

Là, on retourne chez l'auteur qui nous dit :

AuthServer.Infrastructure> dotnet ef database update --context AppIdentityDbContext
AuthServer.Infrastructure> dotnet ef database update --context PersistedGrantDbContext

et que l'on va traduire par la commande suivante dans la Console Package Management :

PM> update-database -context AppIdentityDbContext
Build started...
Build succeeded.
DesignTimeDbContextFactory.Create(string): Connection string: Server=(localdb)\mssqllocaldb;Database=AuthServer;Trusted_Connection=True;MultipleActiveResultSets=true
Applying migration '20190403041320_initial'.
Done.
PM>

La documentation est Ici :

Microsoft EF Core - Migrations

Aaaahhhh c'est la lutte quand même, encore un machin très microsoftien c'est la multiplication des fenêtres d'exécution (des consoles) entre PowerShell Package Management Console ou même Windows Console avec dotnet ...

Ma Base de donnée d'Authentification des Utilisateurs est enfin crée :


ASP.NET Core DB
ASP.NET Core DB - Base d'Authentification des utilisateurs

Il ne faut pas oublier d'exécuter la deuxième commande :

PM> update-database -context PersistedGrantDbContext

Et pour le message :

Method not found: 'Microsoft.EntityFrameworkCore.Metadata.Builders.IndexBuilder Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder`1.HasIndex(System.Linq.Expressions.Expression`1<System.Func`2<!0,System.Object>>)'.

La solution préconisée est  Ici.

C'est de bien mettre à jour tous vos projets en vous assurant qu'ils utilisent la même version de IdentityServer ... Sinon, Beug !

PM> update-database -context PersistedGrantDbContext
Build started...
Build succeeded.
Microsoft.EntityFrameworkCore.Infrastructure[10403]
      Entity Framework Core 3.1.2 initialized 'PersistedGrantDbContext' using provider 'Microsoft.EntityFrameworkCore.SqlServer' with options: None
Microsoft.EntityFrameworkCore.Database.Command[20101]
      Executed DbCommand (26ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      SELECT 1
Microsoft.EntityFrameworkCore.Database.Command[20101]
      Executed DbCommand (22ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      SELECT OBJECT_ID(N'[__EFMigrationsHistory]');
Microsoft.EntityFrameworkCore.Database.Command[20101]
      Executed DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      SELECT 1
Microsoft.EntityFrameworkCore.Database.Command[20101]
      Executed DbCommand (0ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      SELECT OBJECT_ID(N'[__EFMigrationsHistory]');
Microsoft.EntityFrameworkCore.Database.Command[20101]
      Executed DbCommand (2ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      SELECT [MigrationId], [ProductVersion]
      FROM [__EFMigrationsHistory]
      ORDER BY [MigrationId];
Microsoft.EntityFrameworkCore.Migrations[20405]
      No migrations were applied. The database is already up to date.
No migrations were applied. The database is already up to date.
Done.

PM>

Voilà pour la partie, Serveur d'Authentification.

Authentification - Partie cliente avec Angular

Cette fois, je prends mon Visual Studio Code et je viens ouvrir le répertoire :

\Visual Studio 2019\Samples\AngularASPNETCoreOAuth\src\Spa\oauth-client

Et je viens exécuter la commande dans un Terminal :

ASP.NET Core DB
Client Angular - Visual Studio Core pour l'install de Angular/CLI

Je dois installer Angular CLI pour mon application cliente :

PS : \AngularASPNETCoreOAuth\src\Spa\oauth-client> ng install @angular/cli

Pour rappel l'installation d'Angular CLI se distingue par l'existence du répertoire :

\AngularASPNETCoreOAuth\src\Spa\oauth-client\node_modules\@angular

Une fois Angular/CLI installé, je peux lancer la compilation de mon application Angular :

PS : \AngularASPNETCoreOAuth\src\Spa\oauth-client> ng serve

Exécution en mode Debug de la partie Angular

Il me faut créer un fichier de configuration de l'exécution du mode Debug :

Angular Run en mode Debug
Angular Run en mode Debug

N'oubliez pas de modifier le port de communication proposé par défaut pour une application web : 8080 par le port 4200 pour les applications Web Angular.

Angular Run en mode Debug

Vous pouvez enfin cliquer sur le petit triangle vert et obtenir le résultat suivant en exécutant la partie cliente SPA (Single Page Application) :

Angular Authentification sur un Serveur ASP.NET Core avec IdentityServer
Angular Authentification sur un Serveur ASP.NET Core avec IdentityServer

Je me "Signup" avec un UserName : "aaa", je me Login et j'obtiens l'accès  à la "Top Secret Area" :

Angular Authentification sur un Serveur ASP.NET Core avec IdentityServer - Top Secret Area

Voilà, il est vraiment super cet exemple et très complet et mériterait un bisou sauf que nous sommes en période de Corona.

Thank you very much Mark Macneil

Mais vous l'avez vu pour aller au bout de cette application ,il y a plein de pièges que j'ai déjoués pour nous alors n'hésitez pas à cliquer partout, à commenter, à compléter.

La prochaine fois nous verrons comment ajouter des données autour de "MemberIdentity" car moi j'aimerais bien savoir où il habite mon utilisateur ;-)

Let's go to the beach!

Ah non, mince, c'est Corona, Grrrrr.

Je vous propose de poursuivre cette exploration des Bases de Données d'Authentification dans ASP.NET C# car cela concerne plus les applications Web.

ASP.NET Core comparaison des structures des Bases de données IdentityServer