PassaporteWeb connection for Flask applications
Project description
.. _Flask: http://flask.pocoo.org/docs/
.. _PassaporteWeb: https://app.passaporteweb.com.br/
====================
Flask-IdentityClient
====================
API de conexão com PassaporteWeb_ para aplicações Flask_.
Configurações
-------------
Os *settings* do Flask precisam conter as seguntes chaves:
- ``SERVICE_ACCOUNT``: nome completo do *model* de conta de serviço,
equivalente ao *model* ``ServiceAccount`` no PassaporteWeb. Ex.:
``authentication.models.ServiceAccount``.
- ``PASSAPORTE_WEB``: dicionário contendo as chaves:
- ``HOST``: prefixo do PassaporteWeb, incluindo protocolo. Ex.:
``https://app.passaporteweb.com.br``.
- ``FETCH_USER_DATA_PATH``: *path* da URL de captura de dados do
usuário. Ex.: ``/sso/fetchuserdata/``.
- ``REQUEST_TOKEN_PATH``: *path* da URL para inicialização da
requisição de *token*. Ex.: ``/sso/initiate/``.
- ``ACCESS_TOKEN_PATH``: *path* da URL de troca de *token*. Ex.:
``/sso/token/``.
- ``AUTHORIZATION_PATH``: *PATY* da URL de autorização. Ex.:
``/sso/authorize/``.
- ``CONSUMER_TOKEN`` e ``CONSUMER_SECRET``: credenciais de autenticação
do consumidor.
- ``ECOMMERCE_URL`` (opcional): URL da aplicação no Ecommerce.
*Blueprint*
-----------
O *blueprint* do Flask-IdentityClient pode ser encontrado em
``flask_identity_client.application`` e é chamado ``blueprint``.
Você pode registrá-lo::
from flask_identity_client.application import blueprint
app.register_blueprint(blueprint, url_prefix='/sso')
Autenticação de usuário
-----------------------
Para registrar um outro *blueprint* para requerer usuário, você deve
usar::
from flask_identity_client.startup_funcs import user_required
# blueprint aqui é o blueprint alvo, não flask_identity_client!
blueprint.before_request(user_required)
*Callback* de atualização de contas de serviço
----------------------------------------------
A classe de conta de serviço (``ServiceAccount``) deve possuir o método
de classe ``update()``, que recebe uma lista de dicionários
representando as contas de cobrança identificados para o usuário no
PassaporteWeb, e deve retornar uma lista dos UUIDs válidos na aplicação
local.
.. _PassaporteWeb: https://app.passaporteweb.com.br/
====================
Flask-IdentityClient
====================
API de conexão com PassaporteWeb_ para aplicações Flask_.
Configurações
-------------
Os *settings* do Flask precisam conter as seguntes chaves:
- ``SERVICE_ACCOUNT``: nome completo do *model* de conta de serviço,
equivalente ao *model* ``ServiceAccount`` no PassaporteWeb. Ex.:
``authentication.models.ServiceAccount``.
- ``PASSAPORTE_WEB``: dicionário contendo as chaves:
- ``HOST``: prefixo do PassaporteWeb, incluindo protocolo. Ex.:
``https://app.passaporteweb.com.br``.
- ``FETCH_USER_DATA_PATH``: *path* da URL de captura de dados do
usuário. Ex.: ``/sso/fetchuserdata/``.
- ``REQUEST_TOKEN_PATH``: *path* da URL para inicialização da
requisição de *token*. Ex.: ``/sso/initiate/``.
- ``ACCESS_TOKEN_PATH``: *path* da URL de troca de *token*. Ex.:
``/sso/token/``.
- ``AUTHORIZATION_PATH``: *PATY* da URL de autorização. Ex.:
``/sso/authorize/``.
- ``CONSUMER_TOKEN`` e ``CONSUMER_SECRET``: credenciais de autenticação
do consumidor.
- ``ECOMMERCE_URL`` (opcional): URL da aplicação no Ecommerce.
*Blueprint*
-----------
O *blueprint* do Flask-IdentityClient pode ser encontrado em
``flask_identity_client.application`` e é chamado ``blueprint``.
Você pode registrá-lo::
from flask_identity_client.application import blueprint
app.register_blueprint(blueprint, url_prefix='/sso')
Autenticação de usuário
-----------------------
Para registrar um outro *blueprint* para requerer usuário, você deve
usar::
from flask_identity_client.startup_funcs import user_required
# blueprint aqui é o blueprint alvo, não flask_identity_client!
blueprint.before_request(user_required)
*Callback* de atualização de contas de serviço
----------------------------------------------
A classe de conta de serviço (``ServiceAccount``) deve possuir o método
de classe ``update()``, que recebe uma lista de dicionários
representando as contas de cobrança identificados para o usuário no
PassaporteWeb, e deve retornar uma lista dos UUIDs válidos na aplicação
local.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.