0

J'essaie d'implémenter IdentityServer3 dans mon mix architectural. J'aime l'idée d'enregistrer des clients, des utilisateurs et des portées. Ce que je n'aime pas, c'est d'utiliser les formulaires de connexion et d'inscription d'IdentityServer3.Comment désactiver les vues d'interface utilisateur intégrées d'IdentityServer3 (connexion et enregistrement)?

J'ai 4 applications différentes qui ont besoin d'utiliser mon implémentation IdentityServer3 (aka TokenServer). Ces 4 applications sont des applications AngularJs. J'ai divers services C# .Net WebAPI fournissant des données à ces 4 applications. À l'heure actuelle chacune de ces 4 applications ont leur propre processus d'authentification et d'enregistrement. Je dois consolider la pièce d'authentification en utilisant IdentityServer3.

Chacune de ces 4 applications a des besoins d'enregistrement/d'authentification de compte différents. Il existe un mélange d'authentification tierce (Facebook, Google) et d'authentification par formulaires traditionnels sur un compte enregistré par l'utilisateur. Par conséquent, aucune de mes applications AngularJs ne peut utiliser les formulaires de connexion/enregistrement par défaut fournis avec IdentityServer3. J'ai passé beaucoup de temps à essayer de trouver un moyen de désactiver les vues par défaut et de connecter chacune de mes applications AngularJs à mon TokenServer. Je veux simplement POSTER les identifiants de connexion au point de terminaison/token et renvoyer un jeton qui peut être utilisé dans les appels suivants à mon WebAPI. Je souhaite remplacer le processus d'authentification que j'ai pour chaque application avec IdentityServer3 sans modifier les interfaces de connexion/enregistrement existantes.

Je ne trouve pas d'exemple d'application ou même de documentation montrant comment procéder. Est-il même possible de désactiver toutes les vues de l'interface utilisateur d'IdentityServer3 et d'utiliser les formulaires de connexion et d'inscription de mon client AngularJs?

Veuillez me diriger dans la bonne direction. Merci pour votre temps.

Répondre

1

Il semble que vous souhaitiez utiliser le flux de propriétaire de ressource OAuth 2.0 - ce qui signifie que votre application publie des informations d'identification sur le point de terminaison du jeton et récupère un jeton d'accès. C'est tout à fait possible - vous manquerez quelques fonctionnalités comme la fédération et SSO. Mais ce sont les contraintes connues de ce flux.

Si vous souhaitez utiliser un flux basé sur les redirections (ce qui vous donne accès à l'authentification unique et, par exemple, à Google, etc.), vous devez effectuer une redirection. Vous pouvez remplacer n'importe laquelle des vues IdentityServer par les vôtres. La documentation et les exemples ont beaucoup d'informations sur la façon de le faire.

https://identityserver.github.io/Documentation/docsv2/advanced/customizingViews.html

https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/CustomViewService

+0

Merci pour la réponse. Je vais certainement examiner ces ressources. Savez-vous si les vues personnalisées sont livrées via une fenêtre pop-up ou iframe? J'espère pouvoir simplement les charger dans mon flux HTML sans l'utilisation d'une iframe ou d'une pop-up. –

+0

Je regarde dans votre CustomeViewService. Il semble que ces vues sont générées sur le serveur. Mon paradigme est que le serveur doit être REST. Les connexions, les déconnexions, l'enregistrement sont toutes des activités de l'interface utilisateur et doivent être traitées dans votre code frontal (AngularJs dans mon cas). Avoir un serveur backend servir le contenu de l'interface utilisateur muddies l'eau à mon avis. Y at-il de toute façon à réaliser des connexions SSO, Google et Facebook, etc sans compter sur IdentityServer pour servir les bits de l'interface utilisateur? –

+0

Non. Même chose pour Google et leur interface utilisateur. – leastprivilege