simpleauth

Screenshot Software:
simpleauth
Mga detalye ng Software:
Bersyon: 0.1.3
I-upload ang petsa: 20 Feb 15
Nag-develop: Alex Vagin
Lisensya: Libre
Katanyagan: 5

Rating: nan/5 (Total Votes: 0)

simpleauth ay isang simpleng pagpapatunay ng wrapper para sa isang app Engine ng Google App.
Mga sinusuportahang specs:
& Nbsp; - OAuth 2.0
& Nbsp; - OAuth 1.0 (a)
& Nbsp; - OpenID
Mga sinusuportahang provider sa labas ng kahon:
& 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, gamit ang App Engine module user API
Pagsisimula
1. I-install ang library sa iyong lokal Mac / PC gamit ang isa sa:
& Nbsp; a. "Easy_install -U simpleauth"
& Nbsp; b. "Buto ng bungang-kahoy-install simpleauth"
& Nbsp; c. mai-clone ang pinagmulan repo, hal "Git clone ng Git: //github.com/crhym3/simpleauth.git"
2. Ilagay ang subdir tinatawag na "simpleauth" sa iyong root app.
3. Kailangan mo ring upang makakuha ng python-OAuth2 (buto ng bungang-kahoy-install OAuth2) at httplib2 (http://code.google.com/p/httplib2/)
3. Lumikha ng isang humahawak ng kahilingan sa pamamagitan ng subclassing SimpleAuthHandler, hal
& Nbsp; & nbsp; klase AuthHandler (SomeBaseRequestHandler, SimpleAuthHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; "" "Authentication na handler para sa lahat ng uri ng auth." ""
& Nbsp; & nbsp; & nbsp; & nbsp; def _on_signin (sa sarili, data, auth_info, provider):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Callback tuwing may bagong o umiiral na user ay mag-log in.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; data ay isang diksyunaryo ng impormasyon ng user.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; auth_info ay naglalaman ng access token o OAuth token at lihim.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Tingnan kung ano ang nasa loob nito na may 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. check kung umiiral ang user, hal
& 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. lumikha ng isang bagong user kung hindi
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # & Nbsp; & nbsp; & nbsp; Ang User (** data) .put ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 3. pag-sign in na user ang
& 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. pag-redirect sa isang lugar, hal self.redirect ('/ profile')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Tingnan ang higit sa kung paano gumagana ang mga hakbang sa itaas dito:
& 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 (sa sarili):
& 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 (sa sarili, provider):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; bumalik self.uri_for ('auth_callback', provider = provider, _full = True)
& Nbsp; & nbsp; & nbsp; & nbsp; def _get_consumer_info_for (sa sarili, provider):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Kung magbalik ng tuple (key, lihim) para sa auth init kahilingan.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Para sa OAuth 2.0 dapat mo ring magbalik ng saklaw, hal
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ('Aking app id', 'aking lihim na app', 'email, user_about_me')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Ang saklaw depens lamang sa mga provider.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Tingnan ang halimbawa / secrets.py.template
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; bumalik secrets.AUTH_CONFIG [provider]
Tandaan na SimpleAuthHandler ay hindi isang tunay na handler kahilingan. Ito ay nasa sa iyo. Halimbawa, SomeBaseRequestHandler ay maaaring webapp2.RequestHandler.
4. Magdagdag ng mga routing upang ang '/ auth / PROVIDER', '/ auth / PROVIDER / callback' at '/ mag-logout' mga kahilingan pumunta sa iyong AuthHandler.
& Nbsp; & nbsp; Halimbawa, sa webapp2 maaari mong gawin:
& Nbsp; & nbsp; # Map URL na handler
& Nbsp; & nbsp; mga ruta = [
& Nbsp; & nbsp; & nbsp; & nbsp; Ruta ('/ auth /',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: _simple_auth', pangalan = 'auth_login'),
& Nbsp; & nbsp; & nbsp; & nbsp; Ruta ('/ auth // callback',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: _auth_callback', pangalan = 'auth_callback'),
& Nbsp; & nbsp; & nbsp; & nbsp; Ruta ('/ logout',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: logout', pangalan = 'logout')
& Nbsp; & nbsp; ]
5. Iyan na ang lahat. Tingnan ang isang sample app sa halimbawa dir.
Upang patakbuhin ang app Halimbawa, kopyahin halimbawa / secrets.py.template sa halimbawa / secrets.py at simulan ang app na lokal sa pamamagitan ng e-execute run.sh

Ano ang bagong sa paglabas :

  • proteksyon CSRF para sa OAuth 2.0 http://code.google.com/p/gae-simpleauth/issues/detail?id=1
  • Mga Custom na pagbubukod http://code.google.com/p/gae-simpleauth/issues/detail?id=2
  • pagpapabuti Halimbawa app, kabilang ang:
  • bantay CSRF
  • mensahe palabas pagbubukod para sa mga layunin ng demo
  • prettier output ng session, ang data ng profile at auth_info diksyunaryo
  • https://github.com/crhym3/simpleauth/issues/4
  • https://github.com/crhym3/simpleauth/issues/5
  • Higit pang mga kapaki-pakinabang na impormasyon sa Readme

Mga Kinakailangan :

  • Python
  • OAuth2
  • lxml
  • httplib2

Iba pang mga software developer ng Alex Vagin

SimpleAuth
SimpleAuth

13 Apr 15

Mga komento sa simpleauth

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!