simpleauth

Logiciel capture d'écran:
simpleauth
Détails logiciels:
Version: 0.1.3
Date de transfert: 20 Feb 15
Développeur: Alex Vagin
Licence: Gratuit
Popularité: 5

Rating: nan/5 (Total Votes: 0)

simpleauth est un wrapper d'authentification simple pour une application de Google App Engine.
Spécifications pris en charge:
& Nbsp; - OAuth 2.0
& Nbsp; - OAuth 1.0 (a)
& Nbsp; - OpenID
Fournisseurs pris en charge hors de la boîte:
& Nbsp; - Google (OAuth 2.0)
& Nbsp; - Facebook (OAuth 2.0)
& Nbsp; - Windows Live (OAuth 2.0)
& Nbsp; - Twitter (OAuth 1.0a)
& Nbsp; - LinkedIn (OAuth 1.0a)
& Nbsp; - OpenID, en utilisant App Engine module utilisateurs API
Mise en route
1. Installez la bibliothèque sur votre Mac / PC local avec l'un des:
& Nbsp; a. «Easy_install -U simpleauth"
& Nbsp; b. "PIP installer simpleauth"
& Nbsp; c. cloner le repo source, par exemple "Clone git git: //github.com/crhym3/simpleauth.git"
2. Placez le sous-répertoire appelé "simpleauth" dans votre application racine.
3. Vous aurez également besoin d'obtenir python-OAuth2 (PIP installer OAuth2) et httplib2 (http://code.google.com/p/httplib2/)
3. Créez un gestionnaire de requête en dérivant SimpleAuthHandler, par exemple
& Nbsp; & nbsp; classe AuthHandler (SomeBaseRequestHandler, SimpleAuthHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; "" "Gestionnaire d'authentification pour toutes sortes de auth." ""
& Nbsp; & nbsp; & nbsp; & nbsp; def _on_signin (auto, données, auth_info, prestataire):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Rappel à chaque fois qu'une nouvelle ou existante utilisateur se connecte à.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; données est une info dictionnaire utilisateur.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; auth_info contient jeton d'accès OAuth ou jeton et secret.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Voir ce qu'il ya dedans avec logging.info (données, auth_info)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; auth_id = auth_info ['id']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 1. Vérifiez si l'utilisateur existe, par exemple
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # & Nbsp; & nbsp; & nbsp; User.get_by_auth_id (auth_id)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 2. Créez un nouvel utilisateur si ce ne est pas
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # & Nbsp; & nbsp; & nbsp; Utilisateur (** Données) .put ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 3. signe dans le mode
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # & Nbsp; & nbsp; & nbsp; self.session ['_ user_id'] = auth_id
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 4. redirection quelque part, par exemple self.redirect ('/ profil »)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Voir plus sur la façon de travailler les étapes ci-dessus ici:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Http://webapp-improved.appspot.com/api/webapp2_extras/auth.html
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Http://code.google.com/p/webapp-improved/issues/detail?id=20
& Nbsp; & nbsp; & nbsp; & nbsp; def Déconnexion (auto):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.auth.unset_session ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.redirect ('/')
& Nbsp; & nbsp; & nbsp; & nbsp; def _callback_uri_for (auto, prestataire):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.uri_for ('de auth_callback', de provider = fournisseur, _Full = True) retourner
& Nbsp; & nbsp; & nbsp; & nbsp; def _get_consumer_info_for (auto, prestataire):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Devraient retourner un tuple (clé, secret) pour les demandes d'initialisation authentification.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Pour OAuth 2.0, vous devez également retourner un champ, par exemple
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; («Mon application id ',' mon application secret ',' email, user_about_me ')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; La portée depens uniquement sur le fournisseur.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Voir l'exemple / secrets.py.template
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; retourner secrets.AUTH_CONFIG [fournisseur]
Notez que SimpleAuthHandler ne est pas un vrai gestionnaire de requêtes. C'est à vous. Par exemple, SomeBaseRequestHandler pourrait être webapp2.RequestHandler.
4. Ajouter routage pour que '/ auth / provider', '/ auth / FOURNISSEUR / rappel »et« / déconnexion "demandes vers le AuthHandler.
& Nbsp; & nbsp; Par exemple, dans webapp2 vous pourriez faire:
& Nbsp; & nbsp; # Carte URL aux gestionnaires
& Nbsp; & nbsp; itinéraires = [
& Nbsp; & nbsp; & nbsp; & nbsp; Route ('/ auth /',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; gestionnaire = 'handlers.AuthHandler: _simple_auth', nom = 'auth_login'),
& Nbsp; & nbsp; & nbsp; & nbsp; Route ('/ auth // rappel »,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; gestionnaire = 'handlers.AuthHandler: _auth_callback', nom = 'auth_callback'),
& Nbsp; & nbsp; & nbsp; & nbsp; Route ('/ déconnexion »,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; gestionnaire = 'handlers.AuthHandler: déconnecter »,« déconnexion »name =)
& Nbsp; & nbsp; ]
5. Ce est tout. Voir un exemple d'application dans l'exemple dir.
Pour exécuter l'exemple de l'application, par exemple copier / secrets.py.template en exemple / secrets.py et commencer l'application au niveau local en exécutant run.sh

Ce qui est nouveau dans ce communiqué :

  • protection CSRF pour OAuth 2.0 http://code.google.com/p/gae-simpleauth/issues/detail?id=1
  • exceptions personnalisées http://code.google.com/p/gae-simpleauth/issues/detail?id=2
  • améliorations Exemple d'applications, y compris:
  • garde CSRF
  • afficher les messages d'exception à des fins de démonstration
  • sortie plus jolie de la session, les données de profil et auth_info dictionnaires
  • https://github.com/crhym3/simpleauth/issues/4
  • https://github.com/crhym3/simpleauth/issues/5
  • info utile dans README

Exigences :

  • Python
  • OAuth2
  • lxml
  • httplib2

D'autres logiciels de développeur Alex Vagin

SimpleAuth
SimpleAuth

13 Apr 15

Commentaires à simpleauth

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!