simpleauth

Software screenshot:
simpleauth
Software informatie:
Versie: 0.1.3
Upload datum: 20 Feb 15
Ontwikkelaar: Alex Vagin
Licentie: Gratis
Populariteit: 5

Rating: nan/5 (Total Votes: 0)

simpleauth is een eenvoudige authenticatie wrapper voor een Google App Engine app.
Ondersteunde specs:
& Nbsp; - OAuth 2.0
& Nbsp; - OAuth 1.0 (a)
& Nbsp; - OpenID
Ondersteunde providers uit de doos:
& 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, met behulp van App Engine gebruikers module API
Aan de slag
1. Installeer de bibliotheek op uw lokale Mac / PC met één van:
& Nbsp; a. "Easy_install -U simpleauth"
& Nbsp; b. "PIP simpleauth installeren"
& Nbsp; c. klonen de bron repo, bijvoorbeeld "Git clone git: //github.com/crhym3/simpleauth.git"
2. Plaats de submap genaamd "simpleauth" in uw app root.
3. U zult ook moeten python-oauth2 krijgen (PIP oauth2 installeren) en httplib2 (http://code.google.com/p/httplib2/)
3. Maak een behandelaar door subklassen SimpleAuthHandler, bv
& Nbsp; & nbsp; klasse AuthHandler (SomeBaseRequestHandler, SimpleAuthHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; "" "Verificatie handler voor allerlei auth." ""
& Nbsp; & nbsp; & nbsp; & nbsp; def _on_signin (zelf, data, auth_info, provider):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Terugbellen wanneer een nieuwe of bestaande gebruiker in te loggen.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; gegevens is een gebruiker informatie woordenboek.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; auth_info bevat access token of OAuth en geheim.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Zie wat er in zit met logging.info (data, 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. Controleer of de gebruiker bestaat, bijv.
& 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. maak een nieuwe gebruiker als het niet
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # & Nbsp; & nbsp; & nbsp; Gebruiker (** data) .Zet ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 3. teken in de gebruiker
& 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. redirect ergens, bijvoorbeeld self.redirect ('/ profile')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Zie meer over hoe je de bovenstaande stappen hier werken:
& 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 logout (zelf):
& 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 (zelf, provider):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; terug self.uri_for ('auth_callback', provider = provider, _full = True)
& Nbsp; & nbsp; & nbsp; & nbsp; def _get_consumer_info_for (zelf, provider):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Moet terug een tupel (sleutel, geheim) voor auth init verzoeken.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Voor OAuth 2.0 moet je ook een scope terugkeren, bijvoorbeeld
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ('Mijn app id', 'mijn app geheim', 'e-mail, user_about_me')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; De scope depens uitsluitend op de aanbieder.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Zie voorbeeld / secrets.py.template
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; terug secrets.AUTH_CONFIG [provider]
Merk op dat SimpleAuthHandler is niet echt een behandelaar. Het is aan jou. Zo kan SomeBaseRequestHandler zijn webapp2.RequestHandler.
4. routing toevoegen zodat '/ auth / PROVIDER', '/ auth / aanbieder / callback' en '/ logout' verzoeken naar je AuthHandler.
& Nbsp; & nbsp; Bijvoorbeeld, in webapp2 je zou kunnen doen:
& Nbsp; & nbsp; # Map URL's om handlers
& Nbsp; & nbsp; routes = [
& Nbsp; & nbsp; & nbsp; & nbsp; Route ('/ auth /',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: _simple_auth', naam = 'auth_login'),
& Nbsp; & nbsp; & nbsp; & nbsp; Route ('/ auth // callback',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: _auth_callback', naam = 'auth_callback'),
& Nbsp; & nbsp; & nbsp; & nbsp; Route ('/ logout',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: logout', naam = 'logout')
& Nbsp; & nbsp; ]
5. Dat is het. Bekijk een voorbeeld app in het voorbeeld dir.
Naar het voorbeeld app draaien, te kopiëren voorbeeld / secrets.py.template in bijvoorbeeld / secrets.py en lokaal start de app door het uitvoeren van run.sh

Wat is nieuw in deze release :

  • CSRF bescherming voor OAuth 2.0 http://code.google.com/p/gae-simpleauth/issues/detail?id=1
  • Aangepaste uitzonderingen http://code.google.com/p/gae-simpleauth/issues/detail?id=2
  • Voorbeeld app verbeteringen, waaronder:
  • CSRF guard
  • toon uitzondering boodschappen voor demo doeleinden
  • mooier output van sessie, profielgegevens en auth_info woordenboeken
  • https://github.com/crhym3/simpleauth/issues/4
  • https://github.com/crhym3/simpleauth/issues/5
  • Meer nuttige info in README

Eisen

  • Python
  • oauth2
  • LXML
  • httplib2

Andere software van ontwikkelaar Alex Vagin

SimpleAuth
SimpleAuth

13 Apr 15

Reacties op simpleauth

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!