Provedor de autorização
O registro de usuários funciona por meio de um provedor de autorização. Nenhum provedor de autorização é criado por padrão quando você cria um projeto. Se o seu projeto prevê o registro de usuários, configure o provedor de autorização você mesmo.
Criar um provedor de autenticação
Para criar um provedor de autenticação, abra a seção de usuários e selecione a subseção "Authentication Providers". No formulário de criação do provedor, preencha:
- Nome: string, não precisa ser único. Pode ter qualquer formato. O nome é usado dentro da plataforma OneEntry e serve para distinguir um provedor de outro, então escolha nomes que facilitem o seu trabalho.
- Tipo: a forma de transmissão dos dados usados para verificar o usuário. Escolha uma das opções da lista.
- email: as informações para confirmar a identidade do usuário chegam ao e-mail que ele informa no registro.
- oauth: o OAuth não envia códigos para os contatos do usuário. Em vez disso, permite que o usuário conceda ao seu aplicativo acesso limitado aos dados dele em outro serviço no qual ele já está autenticado (por exemplo, Google, Apple, Yandex, GitHub). Veja como funciona a verificação com o Google: No seu site, o usuário clica no botão "Entrar com o Google". Ele é redirecionado para a página de autorização do Google. O usuário digita as credenciais (login/senha) diretamente no Google, e não no seu aplicativo. Isso aumenta a segurança, porque você não lida com a senha dele. Depois do login, o Google pergunta ao usuário se ele concorda em compartilhar com o seu aplicativo os dados solicitados (por exemplo, e-mail e nome). Se o usuário concordar, o Google o redireciona de volta ao seu site com um token de acesso especial. Seu projeto valida esse token e, com base nele, registra ou autoriza o usuário automaticamente.
- Marcador: string única. Usado para acessar o provedor no código do seu aplicativo. Leve em conta a sintaxe da linguagem do projeto para evitar erros. Por exemplo, algumas linguagens não aceitam hífens em nomes de variáveis. Nesse caso, é melhor usar "my_provider" em vez de "my-provide".
Depois de preencher todos os campos, clique em "Add" para criar o provedor de autenticação.
Configurar um provedor de autenticação
Para abrir as configurações do provedor de autenticação, selecione-o na lista e clique no ícone de edição .
Configurações básicas
O editor do provedor tem as abas Basic data e Version History.
Nas configurações, você pode alterar o nome e o marcador do provedor. O provedor de autenticação precisa ter um formulário de autorização. Se você não tem um formulário do tipo "Sign In and Registration", crie um (abre em uma nova aba). Para que o provedor funcione corretamente, o formulário deve conter um conjunto de atributos (abre em uma nova aba) do tipo "User" com pelo menos três atributos: login, senha e informação para verificação (e-mail).
Mesmo que você use o e-mail como login, ainda precisa criar o atributo "login" e também o atributo "email".
Se já houver usuários registrados por meio do provedor, não é possível trocar o formulário: o campo Form selection fica bloqueado com a explicação "Form selection is disabled because there are users registered through this provider".
No campo obrigatório Default User Group, selecione o grupo de usuários ao qual são adicionados os usuários registrados por meio deste provedor.
Para um provedor do tipo oauth, selecione o serviço no campo OAuth Provider. Os campos de conexão dependem do serviço escolhido; veja um exemplo de configuração para o Google.
Em linhas gerais, para montar um sistema de autorização e verificação:
- Crie um atributo do tipo "Users" com pelo menos três campos: login, senha e informação para verificação (e-mail).
- Atribua os papéis correspondentes aos atributos nas configurações de atributos.
- Crie um formulário do tipo "Sign In and Registration" e indique nele o conjunto de atributos criado.
- Crie um provedor de autenticação e indique nele o formulário criado.
Configurações adicionais
As configurações adicionais tratam da ativação de usuários e dos tokens.
A ativação do usuário é uma etapa adicional do registro. Se a ativação de usuários não estiver habilitada, todo usuário registrado é ativado automaticamente.
Somente usuários ativados podem usar as funções do sistema que exigem autorização, como criar um pedido ou se inscrever em eventos.
Se você marcar a opção "Activate new users via code", os usuários não serão ativados automaticamente. Em vez disso, o usuário recebe um código pelo meio definido no provedor, por exemplo, por e-mail. Esse usuário só é ativado depois de confirmar o e-mail digitando o código.
Assim que o usuário envia os dados e solicita o registro, ele aparece na lista geral de usuários, mesmo sem estar ativado. A configuração "Number of days after which inactive users will be deleted" define por quanto tempo o usuário permanece nessa lista se, por algum motivo, não confirmar o e-mail.
As configurações adicionais também incluem as de tokens JWT.
- Palavra secreta para gerar o token JWT: a palavra usada como chave de criptografia do token. Uma palavra única aumenta a segurança.
- Tempo de vida do token de autorização (em segundos): o tempo durante o qual o token passa na verificação de validade. Quanto menor o tempo, mais segura a conexão do usuário; porém, um intervalo curto demais aumenta o número de requisições do usuário ao seu projeto, o que prejudica o desempenho.
- Tempo de vida do token de atualização (em segundos) (Refresh token life time): o prazo de validade do token de atualização, que o aplicativo usa para obter um novo token de autorização sem que o usuário precise entrar de novo.
- Tempo de vida do código do sistema (em segundos): depois que esse tempo passar desde o envio do código ao usuário (por exemplo, por e-mail), o usuário pode solicitar o código novamente.
- Comprimento do código do sistema: o número de caracteres do código do sistema enviado ao usuário.
- Código do sistema apenas com números: com essa opção marcada, o usuário recebe um código composto só de dígitos. Isso torna a autorização menos segura, mas pode ser útil, por exemplo, se o usuário não tiver acesso a um teclado com caracteres latinos.
Excluir um provedor de autenticação
Você pode excluir um provedor em "Authentication Providers", no menu de usuários.
Selecione na lista o provedor que deseja excluir e clique no ícone de exclusão .
Não é possível excluir um provedor que já esteja em uso por algum usuário: na lista, esse provedor não tem o ícone de exclusão.