Je suis chargé d'implémenter l'authentification unique pour nos clients dans notre prochaine version. Le flux existe comme suit:
Ainsi, il existe deux mécanismes par lesquels un utilisateur peut être authentifié sur notre site:
Si l'implémentation de notre produit est en ASP.NET (par opposition à Java/Ruby), devrions-nous utiliser CAS, JOSSO ou un autre produit tiers à authentification unique? Ou existe-t-il un élément disponible dans un environnement .NET qui serait plus simple pour nous en tant que société .NET?
Il existe plusieurs options pour implémenter l'authentification unique pour une application .NET.
Découvrez les tutoriels suivants en ligne:
Principes de base de l'authentification unique , juillet 2012
http://www.codeproject.com/Articles/429166/Basics-of-Single-Sign-on-SSO
GaryMcAllisterOnline: intégration ASP.NET MVC 4, ADFS 2.0 et STS tiers (IdentityServer2) , janv. 2013
http://garymcallisteronline.blogspot.com/2013/01/aspnet-mvc-4-adfs-20-and-3rd-party-sts.html
Le premier utilise les formulaires Web ASP.NET, tandis que le second utilise ASP.NET MVC4.
Si vos exigences vous permettent d'utiliser une solution tierce, considérez également OpenID. Il existe une bibliothèque open source appelée DotNetOpenAuth .
Pour plus d'informations, lisez l'article du blog MSDN Intégrez OpenAuth/OpenID avec votre application ASP.NET existante à l'aide de fournisseurs universels .
J'espère que cela t'aides!
Je suis en retard à la fête, mais pour l'option n ° 1, j'irais avec IdentityServer (.NET 4.6 ou inférieur) ou IdentityServer4 (compatible avec Core ).
Vous pouvez réutiliser votre magasin d'utilisateurs existant dans votre application et le connecter comme magasin d'utilisateurs d'IdentityServer. Les clients doivent ensuite être pointés sur votre IdentityServer en tant que fournisseur d'identifiant ouvert.
Il existe plusieurs fournisseurs d'identité avec prise en charge de l'authentification unique prête à l'emploi, ainsi que des produits tiers **.
** Le seul problème avec les produits tiers est qu'ils facturent par utilisateur/mois, et cela peut coûter très cher.
Certains des outils disponibles et avec les API pour .NET sont:
Si vous décidez d'utiliser votre propre implémentation, vous pouvez utiliser les cadres ci-dessous classés par langage de programmation.
C #
Javascript
Python
J'irais avec les applications IdentityServer4 et ASP.NET Core, il est facile à configurer et vous pouvez également ajouter votre propre fournisseur d'authentification. Il utilise les protocoles OAuth/OpenID plus récents que SAML 2.0 et WS-Federation.
UltimateSAML SSO est un toolkit .NET conforme aux spécifications OASIS SAML v1.x et v2.0. Il offre un moyen simple et élégant d’ajouter à vos applications ASP.NET, ASP.NET MVC, ASP.NET Core, Desktop et Service une prise en charge de SAML Single-Sign-On et Single-Logout. La bibliothèque légère vous aide à fournir un accès unique aux sites Web en nuage et intranet à l'aide d'une seule entrée d'informations d'identification.