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.

Aucun commentaire:

Enregistrer un commentaire

Pour plus d'interactivité, n'hésitez pas à laisser votre commentaire.