Login com OpenID Connect
Seus usuários podem fazer login com uma conta que já têm em outro lugar. Qualquer provedor de identidade que publique um documento de descoberta OpenID Connect funciona, e o Fóir executa a troca com ele.
O que você fornece
Você adiciona um provedor no console, pela CLI ou no seu arquivo de configuração. Um login precisa da URL de descoberta do provedor, do seu client ID e de um redirect URI, e é recusado se qualquer um dos três estiver faltando. Um client secret é opcional, e os escopos solicitados são, por padrão, openid email.
O Fóir não mantém um catálogo de provedores nomeados. Cada um que você adiciona tem uma chave, um nome de exibição e uma prioridade que ordena os botões.
O que o Fóir faz
O Fóir lê o documento de descoberta do provedor, gera o par PKCE e o valor de state, e retorna a URL de autorização do provedor. Quando o usuário volta, ele troca o código, verifica o ID token e lê o endereço de email e o identificador de subject estável do provedor.
Como uma pessoa é associada a uma conta
Um usuário recorrente é associado pelo identificador de subject, então um endereço de email alterado no provedor ainda resolve para a mesma conta. Um primeiro login com um email desconhecido cria uma conta sem senha, sujeita ao modo de cadastro do projeto e ao limite de usuários ativos do seu plano.
Quando o email corresponde a uma conta existente, o provedor só é vinculado se essa conta não tiver senha e o provedor tiver verificado o email. Caso contrário, o login é recusado com uma mensagem dizendo ao usuário para fazer login com o método que já usa.
Onde os botões aparecem
A página de login hospedado mostra um botão para cada provedor ativado. Na sua própria interface, a consulta authProviders os lista e duas mutations iniciam e concluem o login, retornando os mesmos tokens de qualquer outro método.
Ocultando um provedor ou desativando-o
Um app de login pode ocultar um provedor para si mesmo. Desativar um para o projeto inteiro entra em vigor na próxima release, ou imediatamente com foir push --publish.
Leia os detalhes
O guia de login cobre como adicionar um provedor no console e pela CLI, e as chamadas de API para um login com provedor na sua própria interface.