Skip to content

Latest commit

 

History

History
61 lines (38 loc) · 3.49 KB

README.md

File metadata and controls

61 lines (38 loc) · 3.49 KB

openid_server

Esta aplicação é um exemplo de provedor OpenId, para ser implementado pelas escolas que pretenderem realizar a integração via OpenId com o QMágico. Neste exemplo, foi utilizada uma biblioteca Python chamada python-openid para se desenvolver esta aplicação Django.

Nesta aplicação não se utiliza banco de dados para armazenar usuários. Por se tratar de um exemplo, a autenticação é feita em memória com um simples if:

if username == 'MarRib' and password == '123456':
    request.session['username'] = 'MarRib'

Recomenda-se que se construa o provedor de OpenId baseado nessa implementação, substituindo essa autenticação mínima por uma implementação real de banco de dados da escola, porém, a implementação pode ser feita utilizando-se qualquer linguagem/biblioteca. Como parâmetro de testes, sugere-se que se teste a sua implementação do servidor com a implementação teste de consumidor disponibilizada na biblioteca python-openid.

Para isto:

  • Primeiramente deve-se ter o Python instalado no seu computador.

  • Em seguida, copie a biblioteca python-openid para o seu computador:

git clone https://github.com/openid/python-openid.git "diretorio"
  • Para rodar o consumidor do exemplo, entre na pasta python-openid/examples/ e rode o consumidor via linha de comando:
python consumer.py
  • Pronto, seu consumidor deve estar rodando em http://localhost:8001, ou, caso você deseje alterar a porta, altere a linha 473 do consumer.py.

  • Para se inicializar este servidor de exemplo, primeiramente, deve-se criar e ativar a 'virtual environment' via linha de comando, diretamente da raiz do projeto (/openid_server):

python bootstrap
source bin/activate
  • Em seguida rodar o servidor em localhost(atentando para a porta passada como referência, elas será usada em outros casos):
./manage.py runserver 8090
  • Para testar o seu servidor OpenId, basta inserir a url que inicia a autenticação OpenId do seu servidor, neste caso, seria: http://localhost:8090/xrds (ou a porta que você desejar), como abaixo:

Exemplo de entrada no Consumidor

  • Não se esqueça de conectar o seu servidor e utilizar a porta certa. No meio do processo você pode ser redirecionado para uma tela de login, feito isso, a resposta esperada do processo é uma tela como a seguinte:

Exemplo de saída no Consumidor

Você pode entender melhor o fluxo do processo com o diagrama abaixo e a documentação adicional a seguir:

Diagrama de Sequencia do Fluxo

Você pode ler o Fluxo Resumido da autenticação via OpenId aqui!

Você pode ler o Detalhamento da troca de mensagens durante o processo de autenticação aqui! No detalhamento de troca de mensagens são especificados parâmetros de entrada e saída de cada requisição entre o browser, QMágico e Escola, exemplificando-os.