Autenticação & Autorização
(em construção)
Login Único
Para integrar uma aplicação ao Login Único deve ser solicitada a criaçaõ de um Client ID no Filus
Para aplicações frontend, o cliente deve ser "public".
Para aplicações backend, o client deve ser "confidential", e a equipe do Login Único deverá informar qual é a secret daquele client.
Atentar para marcar no campo Perfil Autenticação a opção Token ou Credenciais para que assim seja possível logar tanto com o certificado quanto digitando o CPF/email na tela de login.
Criando Usuários de Sistema para Testes
-
Criar o usuario manualmente no banco de dados.
-
Cria o token no https://jwt.io/ informado o id (uid do usuário no banco), name (nome do usuário), o timestamp de expiração (exp) e a secret, conforme abaixo:
-
Na seção header preencher com:
{ "alg": "HS256", "typ": "JWT" } -
Na seção payload preencher com:
{ "id": "<uuid do usuário no banco>", "name": "<nome do usuário no banco>", "exp": 2236124331 }O exp2236124331inidica que o token só expira no ano de 2040. -
Na seção Verify Signature, pegar o valor da secret da variavel de ambiente
AUTH_SESSION_JWT_SECRET_KEY, e marcar a opção secret base64 encoded
-
-
Testar fazendo uma requisição qualquer ao ambiente enviando o Token gerado no cabeçalho
authorization: Bearer <TOKEN>
Perfís de Usuários
O perfil de usuário ocorre no nível do chatbot. Um usuário pode ser desenvolvedor num bot mas ser gerente em outro bot.
Usuários Admin
Há na tabela de usuários um flag que permite indicar se o usuário é administrador da plataforma. Nesse caso, é um flag que vale para a plataforma inteira e faz o usuário enxergar todos os chatbots e ter permissões em todas as operações.
Autorização no Código do Backend do Manager
Há uma anotação e um respectivo aspecto que intercepta todos os UseCases anotados, verificando se aquele usuário faz parte do grupo do chatbot ou se ele é admin.
(em construção)