-
IDP SSO SAML
Bonjour,
Je dois créer un Identity provider pour une authentification SSO.
J'ai lu pas la de choses et compris les diagrammes.
Y a 'til un exemple/projet sur lequel je pourrais m'appuyer afin de faire mon propre IDP.
Car nous avons une société Américaine qui veut que nous créons cet IDP pour accéder à leur contenu.
Merci pour votre aide.
Dave
-
Quelles techno utilises-tu ?
En gros tu peux utiliser OWIN et creer ton propre middleware. Tu peux aussi envisager de creer un attribut.
La meilleure solution reste le middleware car il est declenche plus tot que l'attribut dans le cycle de vie de la requete HTTP.
-
Merci pour ta réponse.
Mais le créer comment c'est un peu flou ? as tu un exemple par hasard ?
-
Je n'ai pas d'exemple car tu n'as pas precise les technos que tu utilises malgre ma demande dans mon precedent post...
-
Je suis en c# (asp.net web form).
J'ai vu un tutorial pour faire cela sous IIS (module à installer), mais c'est assez compliqué et pour l'instant je n'arrive pas à le faire marcher convenablement.
-
Ok merci pour l'info ! Avec Webforms c'est un peu plus complique dans tous les cas car la plupart des librairies existent pour MVC / WebApi.
Precision pour la suite de la lecture : quand on fait du SSO en general on s'attend a recevoir un token, un cookie, un entete HTTP, etc. Pour faire simple je vais parler de token.
Dans ton global.asax, dans la methodc Application_BeginRequest, tu dois verifier la presence et la validite du token. Ensuite, tu vas proceder a l'authentification, c'est-a-dire que tu dois recuperer le token puis charger l'utilisateur (Principal) et enfin emettre le FormsAuthenticationTicket (a lire : Understanding the Forms Authentication Ticket and Cookie).
Ensuite, dans Application_AuthenticateRequest tu dois recuperer le token puis recharger ton Principal pour qu'il soit injecte et disponible via le HttpContext dans tes pages.
Il y a un exemple basique ici : Single sign-on with Forms Authentication.
Sinon, si tu veux t'appuyer sur des protocoles existants, comme OAuth, OpenID, SAML, etc. tu peux regarder ASP.NET Identity. Je ne suis pas sur et certain que ca soit dispo pour WebForms, mais il me semble que oui.