Yasso est un système pour construire une connexion unique service en utilisant OAuth2 & nbsp sur le Web;. Il est destiné à être compatible avec le projet 25 de la spécification OAuth2.
Mise en route
Une configuration de démonstration est inclus pour vous aider à démarrer. Installez et exécutez la configuration de démonstration comme ceci:
& Nbsp; git clone git: //github.com/hathawsh/yasso.git
& Nbsp; cd yasso
& Nbsp; virtualenv --no-site-packages.
& Nbsp; bin / PIP installer -U zc.buildout
& Nbsp; bin / buildout
& Nbsp; bin / pserve demo.ini
La démo serveur Yasso sera ensuite disponible à l'adresse http: // localhost: 8510 /. Vous pouvez parcourir, mais vous ne verrez pas beaucoup encore.
Dans un autre shell, installer et exécuter le client oauth2sample:
& Nbsp; git clone git: //github.com/hathawsh/oauth2sample.git
& Nbsp; cd oauth2sample
virtualenv --no-site-packages.
& Nbsp; bin / PIP installer -U zc.buildout
& Nbsp; bin / buildout
& Nbsp; bin / pserve yasso-demo.ini
Le client de l'échantillon sera ensuite disponible à l'adresse http: // localhost: 8511 /. Parcourir là. Vous serez redirigé vers la Yasso autoriser point final et Yasso allez vous demander de vous connecter en utilisant l'authentification HTTP de base. Connectez-vous avec le nom d'utilisateur de sample1, mot de passe mot de passe. Enfin, vous serez redirigé vers le client échantillon de OAuth2 et vous serez connecté en tant sample1. Fin de la démo.
En supposant que tout fonctionnait, cette démo était courte et paisible, qui est la façon dont il devrait être: l'authentification unique doit être la plupart du temps invisible pour les utilisateurs.
L'authentification HTTP de base est probablement la première chose que vous voulez remplacer. Pour le modifier, créer un repoze.who configuration appropriée pour votre organisation et utiliser votre propre fichier de configuration Pyramid (au lieu de demo.ini) qui pointe vers votre fichier de configuration de repoze.who.
Structure
Yasso est composé de trois applications de Pyramid distinctes. Chacun a des vues politiques et de sécurité différents, mais tous utilisent les mêmes objets de modèle.
- L'application autoriser est visible pour les utilisateurs finaux. Quand un utilisateur veut se connecter à un site Web du client, le client redirige le navigateur vers le Yasso de l'utilisateur autorise critère (qui fait partie de l'application autoriser) pour laisser la connexion de l'utilisateur. Une fois que l'utilisateur se connecte, Yasso redirige le navigateur retour au site client Web avec des paramètres OAuth2; le site Web appelle le critère jeton pour terminer autorisation.
- La demande de jeton, qui fournit le point d'extrémité jeton, ne est pas destinée à être visible par les utilisateurs. Une fois qu'un utilisateur est authentifié dans Yasso, les sites Web clients appellent le critère jeton directement (en utilisant un appel REST) pour créer un jeton d'accès. Un jeton d'accès permet au client d'utiliser l'application de ressources.
- La demande de ressource ne est pas destiné à être visible par les utilisateurs. Les appels à l'application des ressources nécessitent un jeton d'accès valide dans les paramètres POST ou en-têtes HTTP. La demande de ressources par défaut ne permet que le site Web du client pour obtenir l'ID de l'utilisateur, mais vous pouvez créer vos propres points de vue qui permettent aux clients de faire d'autres choses pour le compte de l'utilisateur.
Yasso comprend une application composite WSGI qui allie les trois applications ensemble. L'application composite cartes chemins d'URL qui commencent par / ressources à l'application des ressources, les chemins d'URL qui commencent par / jeton à la demande de jeton, et tous les autres URL à l'application autorisent.
Exigences :
- Python
Commentaires non trouvées