Je tente d'implémenter un scénario de Single Sign On simple dans lequel certains des serveurs participants seront des boîtes Windows (IIS). Il semble que SPNEGO est un chemin raisonnable pour cela.SPNEGO (génération/validation de jeton kerberos) pour SSO utilisant Python
Voici le scénario:
- journaux utilisateur dans mon service SSO en utilisant son nom d'utilisateur et mot de passe. Je l'authentifie en utilisant un mécanisme.
- À un certain moment plus tard, l'utilisateur souhaite accéder à App A.
- demande de l'utilisateur pour App A est intercepté par le service d'authentification unique. Le service d'authentification unique utilise SPNEGO pour connecter l'utilisateur à l'App A:
- Le service d'authentification unique frappe l'App Une page Web, obtient un "WWW-Authenticate: Negotiate" réponse
- Le service d'authentification unique génère une « autorisation: Negotiate xxx » réponse au nom de l'utilisateur, répond à l'App A. l'utilisateur est maintenant connecté à l'App A.
- les interceptent de service d'authentification unique des demandes ultérieures de l'utilisateur pour App A, insérer l'en-tête d'autorisation dans les avant de passer les sur l'application A.
- demande de l'utilisateur pour App A est intercepté par le service d'authentification unique. Le service d'authentification unique utilise SPNEGO pour connecter l'utilisateur à l'App A:
Cela vous semble-t-il correct?
je besoin de deux choses (au moins que je peux penser maintenant):
- la capacité de générer le « Autorisation: Negotiate xxx » jeton au nom de l'utilisateur, de préférence en utilisant Python
- la possibilité de valider les en-têtes "Authorization: Negotiate xxx" en Python (pour une partie ultérieure du projet)