simpleauth

Tela Software:
simpleauth
Detalhes de Software:
Versão: 0.1.3
Data de upload: 20 Feb 15
Revelador: Alex Vagin
Licença: Livre
Popularidade: 5

Rating: nan/5 (Total Votes: 0)

simpleauth é um invólucro de autenticação simples para um aplicativo do Google App Engine.
Specs suportados:
& Nbsp; - OAuth 2.0
& Nbsp; - OAuth 1.0 (a)
& Nbsp; - OpenID
Provedores de suporte fora da caixa:
& Nbsp; - Google (OAuth 2.0)
& Nbsp; - Facebook (OAuth 2.0)
& Nbsp; - Windows Live (OAuth 2.0)
& Nbsp; - Twitter (1.0a OAuth)
& Nbsp; - LinkedIn (1.0a OAuth)
& Nbsp; - OpenID, usando App Engine módulo usuários API
Introdução
1. Instale a biblioteca no seu Mac / PC local com um dos seguintes:
& Nbsp; um. "Easy_install -U simpleauth"
& Nbsp; b. "Pip instalar simpleauth"
& Nbsp; c. clonar o repo fonte, por exemplo, "Git clone git: //github.com/crhym3/simpleauth.git"
2. Coloque o subdiretório chamado "simpleauth" em sua raiz app.
3. Você também vai precisar de python-oauth2 (PIP instalar oauth2) e httplib2 (http://code.google.com/p/httplib2/)
3. Crie um manipulador de solicitação por subclasse SimpleAuthHandler, por exemplo,
& Nbsp; & nbsp; classe AuthHandler (SomeBaseRequestHandler, SimpleAuthHandler):
& Nbsp; & nbsp; & nbsp; & nbsp; "" "Manipulador de autenticação para todos os tipos de autenticação." ""
& Nbsp; & nbsp; & nbsp; & nbsp; def _on_signin (self, dados, auth_info, provedor):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Callback sempre que um usuário novo ou existente é login.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dados é uma informação do usuário dicionário.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; auth_info contém token de acesso OAuth ou símbolo e secreto.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Veja o que está nele com logging.info (dados, 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. Verificar se o usuário existe, por exemplo,
& 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. criar um novo usuário se isso não acontecer
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # & Nbsp; & nbsp; & nbsp; Usuário (** dados) .put ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # 3. Entrar o usuário
& 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. redirecionamento em algum lugar, por exemplo, self.redirect ('/ perfil')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Veja mais sobre como trabalhar os passos acima aqui:
& 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; Sair def (self):
& 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 (self, provedor):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.uri_for ('auth_callback', provider = provedor, _IMPRESSORA = True) voltar
& Nbsp; & nbsp; & nbsp; & nbsp; def _get_consumer_info_for (self, provedor):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Deve retornar uma tupla (chave, segredo) para solicitações de inicialização de autenticação.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Para OAuth 2.0, você também deve retornar um âmbito de aplicação, por exemplo,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ('My id app', 'meu segredo app', 'email, user_about_me')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; O escopo depens exclusivamente sobre o provedor.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Veja o exemplo / secrets.py.template
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; retornar secrets.AUTH_CONFIG [fornecedor]
Note-se que SimpleAuthHandler não é um manipulador de solicitação real. Você decide. Por exemplo, poderia ser SomeBaseRequestHandler webapp2.RequestHandler.
4. Adicione o roteamento de modo que '/ auth / provider', '/ auth / fornecedor / callback' e '/ logout' pedidos de ir para o seu AuthHandler.
& Nbsp; & nbsp; Por exemplo, em webapp2 você pode fazer:
& Nbsp; & nbsp; # Mapa URLs para manipuladores
& Nbsp; & nbsp; rotas = [
& 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 ('/ logout',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; handler = 'handlers.AuthHandler: logout', 'logout' name =)
& Nbsp; & nbsp; ]
5. É isso. Veja uma amostra app no ​​exemplo dir.
Para executar o aplicativo exemplo, copiar exemplo / secrets.py.template em example / secrets.py e iniciar o aplicativo localmente, executando run.sh

O que é novo nesta versão :

  • proteção CSRF para OAuth 2.0 http://code.google.com/p/gae-simpleauth/issues/detail?id=1
  • exceções personalizadas http://code.google.com/p/gae-simpleauth/issues/detail?id=2
  • melhorias app Exemplo, incluindo:
  • guarda CSRF
  • mensagens espetáculo de exceção para fins de demonstração
  • saída mais bonita da sessão, os dados de perfil e auth_info dicionários
  • https://github.com/crhym3/simpleauth/issues/4
  • https://github.com/crhym3/simpleauth/issues/5
  • info mais útil no README

Requisitos :

  • Python
  • oauth2
  • lxml
  • httplib2

Outro software de desenvolvedor Alex Vagin

SimpleAuth
SimpleAuth

13 Apr 15

Comentário para simpleauth

Comentários não encontrado
Adicionar comentário
Ligue imagens!