simpleauth

Skjermbilde programvare:
simpleauth
Prog.varedetaljer:
Versjon: 0.1.3
Last opp dato: 20 Feb 15
Utvikler: Alex Vagin
Lisens: Gratis
Popularitet: 5

Rating: nan/5 (Total Votes: 0)

simpleauth er en enkel autentiserings wrapper for en Google App Engine app.
Støttede specs:
& Nbsp; - OAuth 2.0
& Nbsp; - OAuth 1.0 (a)
& Nbsp; - OpenID
Støttede leverandører ut av boksen:
& 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, ved hjelp av App Engine brukere modul API
Komme i gang
1. Installer biblioteket på din lokale Mac / PC med en av:
& Nbsp; en. "Easy_install -U simpleauth"
& Nbsp; b. "Pip installere simpleauth"
& Nbsp; c. klone kilden repo, f.eks "Git clone git: //github.com/crhym3/simpleauth.git"
2. Plasser subdir kalt "simpleauth" inn din app rot.
3. Du trenger også å få python-OAuth2 (PIP installere OAuth2) og httplib2 (http://code.google.com/p/httplib2/)
3. Lag en forespørsel behandlingsprogram ved subclassing SimpleAuthHandler, f.eks
& Nbsp; & nbsp; klasse AuthHandler (SomeBaseRequestHandler, SimpleAuthHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; "" "Authentication handler for alle typer auth." ""
& Nbsp; & nbsp; & nbsp; & nbsp; def _on_signin (selv, data, auth_info, leverandør):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Tilbakering når en ny eller eksisterende bruker er logget inn.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; data er et brukerinfo ordbok.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; auth_info inneholder tilgang token eller oauth token og hemmelig.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Se hva som er i det 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. sjekk om brukeren finnes, f.eks
& 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. opprette en ny bruker hvis det ikke
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # & Nbsp; & nbsp; & nbsp; Bruker (** data) .put ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 3. tegn i bruker
& 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 et sted, f.eks self.redirect ('/ profile')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Se mer om hvordan du kan jobbe trinnene ovenfor her:
& 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 utlogging (egen-):
& 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 (selv, leverandør):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; returnere self.uri_for ('auth_callback', provider = leverandør, _full = True)
& Nbsp; & nbsp; & nbsp; & nbsp; def _get_consumer_info_for (selv, leverandør):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Skal tilbake en tuppel (nøkkel, hemmelig) for auth init forespørsler.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; For OAuth 2.0 bør du også returnere et omfang, f.eks
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ('Min app id', 'min app hemmelig', 'e-post, user_about_me')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Omfanget depens utelukkende på leverandøren.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Se eksempel / secrets.py.template
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; returnere secrets.AUTH_CONFIG [leverandør]
Merk at SimpleAuthHandler er ikke en reell forespørsel behandleren. Det er opp til deg. For eksempel kan SomeBaseRequestHandler være webapp2.RequestHandler.
4. Legg ruting, slik at '/ auth / LEVERANDØR', '/ auth / LEVERANDØR / tilbakeringing "og" / logout' forespørsler gå til din AuthHandler.
& Nbsp; & nbsp; For eksempel, i webapp2 kan du gjøre:
& Nbsp; & nbsp; # Kartnettadresser til handlers
& Nbsp; & nbsp; ruter = [
& Nbsp; & nbsp; & nbsp; & nbsp; Rute ('/ auth /',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; behandleren = 'handlers.AuthHandler: _simple_auth', name = 'auth_login'),
& Nbsp; & nbsp; & nbsp; & nbsp; Rute ('/ auth // tilbakeringing ",
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; behandleren = 'handlers.AuthHandler: _auth_callback', name = 'auth_callback'),
& Nbsp; & nbsp; & nbsp; & nbsp; Rute ('/ utlogging',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; behandleren = 'handlers.AuthHandler: utlogging', navn = 'utlogging')
& Nbsp; & nbsp; ]
5. Det var det. Se et utvalg app i eksempelet dir.
Å kjøre eksempel app, kopiere eksempel / secrets.py.template i eksempel / secrets.py og starte programmet lokalt ved å utføre run.sh

Hva er nytt i denne utgivelsen :

  • CSRF beskyttelse for OAuth 2.0 http://code.google.com/p/gae-simpleauth/issues/detail?id=1
  • Tilpassede unntak http://code.google.com/p/gae-simpleauth/issues/detail?id=2
  • Eksempel app forbedringer, inkludert:
  • CSRF vakt
  • show unntaksmeldinger for demonstrasjonsformål
  • penere produksjon på sesjon, profildata og auth_info ordbøker
  • https://github.com/crhym3/simpleauth/issues/4
  • https://github.com/crhym3/simpleauth/issues/5
  • Mer nyttig info i README

Krav :

  • Python
  • OAuth2
  • LXML
  • httplib2

Annen programvare fra utvikleren Alex Vagin

SimpleAuth
SimpleAuth

13 Apr 15

Kommentarer til simpleauth

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!