simpleauth

Software skärmdump:
simpleauth
Mjukvaruinformation:
Version: 0.1.3
Ladda upp dagen: 20 Feb 15
Utvecklare: Alex Vagin
Licens: Gratis
Popularitet: 5

Rating: nan/5 (Total Votes: 0)

simpleauth är en enkel autentisering wrapper för en Google App Engine app.
Specifikationer som stöds:
& Nbsp; - OAuth 2,0
& Nbsp; - OAuth 1,0 (a)
& Nbsp; - OpenID
Stöds leverantörer ur lådan:
& Nbsp; - Google (OAuth 2.0)
& Nbsp; - Facebook (OAuth 2.0)
& Nbsp; - Windows Live (OAuth 2.0)
& Nbsp; - Twitter (OAuth 1.0a)
& Nbsp; - Link (OAuth 1.0a)
& Nbsp; - OpenID, använder App Engine användare modul API
Komma igång
1. Installera biblioteket på din lokala Mac / PC med en av:
& Nbsp; a. "Easy_install -U simpleauth"
& Nbsp; b. "Pip installera simpleauth"
& Nbsp; c. klona käll repan, t.ex. "Git clone git: //github.com/crhym3/simpleauth.git"
2. Placera subdir kallas "simpleauth" i din app rot.
3. Du måste också få python-oauth2 (PIP installera oauth2) och httplib2 (http://code.google.com/p/httplib2/)
3. Skapa en förfrågan handler genom Subclassing SimpleAuthHandler, t.ex.
& Nbsp; & nbsp; klass AuthHandler (SomeBaseRequestHandler, SimpleAuthHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; "" "Authentication hanterare för alla typer av auth." ""
& Nbsp; & nbsp; & nbsp; & nbsp; def _on_signin (själv, uppgifter, auth_info, leverantör):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Återuppringning när en ny eller befintlig användare loggar in.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; data är en användar info ordbok.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; auth_info innehåller åtkomsttoken eller OAuth token och hemligt.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Se vad som finns i den med 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. Kontrollera om användaren finns, t.ex.
& 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. skapa en ny användare om det inte
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # & Nbsp; & nbsp; & nbsp; Användare (** data) .put ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 3. logga in användaren
& 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. omdirigering någonstans, t.ex. self.redirect ('/ profile ")
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Se mer om hur man arbetar stegen ovan här:
& 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 utloggning (själv):
& 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 (själv, leverantör):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tillbaka self.uri_for ('auth_callback', leverantör = leverantör, _full = sant)
& Nbsp; & nbsp; & nbsp; & nbsp; def _get_consumer_info_for (själv, leverantör):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Ska returnera en tupel (nyckel, hemlig) för auth init önskemål.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; För OAuth 2.0 bör du också returnera en omfattning, t.ex.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ("Min app id ',' min app hemlighet", "e-post, user_about_me ')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Omfattningen depens enbart på leverantören.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Se exempel / secrets.py.template
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; retur secrets.AUTH_CONFIG [leverantör]
Observera att SimpleAuthHandler inte är en riktig förfrågan handler. Det är upp till dig. Till exempel skulle SomeBaseRequestHandler vara webapp2.RequestHandler.
4. Lägg routing så att '/ auth / LEVERANTÖR', '/ auth / LEVERANTÖR / callback "och" / utloggning "förfrågningar gå till din AuthHandler.
& Nbsp; & nbsp; Till exempel i webapp2 du kunde göra:
& Nbsp; & nbsp; # Kartwebbadresser till hanterare
& Nbsp; & nbsp; rutter = [
& Nbsp; & nbsp; & nbsp; & nbsp; Route ('/ auth /',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: _simple_auth', name = 'auth_login'),
& Nbsp; & nbsp; & nbsp; & nbsp; Route ('/ auth // callback ",
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: _auth_callback', name = 'auth_callback'),
& Nbsp; & nbsp; & nbsp; & nbsp; Route ('/ utloggning ",
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: logout', name = "logout ')
& Nbsp; & nbsp; ]
5. Det är allt. Se ett urval app i exemplet dir.
För att köra exemplet app, kopiera exempelvis / secrets.py.template i exempel / secrets.py och starta appen lokalt genom att köra run.sh

Vad är nytt i den här versionen :

  • CSRF skydd för OAuth 2.0 http://code.google.com/p/gae-simpleauth/issues/detail?id=1
  • Anpassade undantag http://code.google.com/p/gae-simpleauth/issues/detail?id=2
  • Exempel app förbättringar, bland annat:
  • CSRF vakt
  • show undantagsmeddelanden för demoändamål
  • snyggare produktion av sessionen, profildata och auth_info ordböcker
  • https://github.com/crhym3/simpleauth/issues/4
  • https://github.com/crhym3/simpleauth/issues/5
  • Mer nyttig info i README

Krav :

  • Python
  • oauth2
  • lxml
  • httplib2

Annan programvara för utvecklare Alex Vagin

SimpleAuth
SimpleAuth

13 Apr 15

Kommentarer till simpleauth

Kommentarer hittades inte
Kommentar
Slå på bilder!