
Todo novo formulário de cadastro pede mais uma senha às pessoas, e cada senha que você armazena é mais uma coisa a proteger. O Login with Posty5 permite que as pessoas entrem no seu site ou app com a conta Posty5 que já têm, do mesmo jeito que escolheriam Entrar com o Google.
Este artigo explica o que seus usuários veem, o que você ganha como desenvolvedor e os quatro passos para adicioná-lo. Ele faz parte da plataforma de desenvolvedores da Posty5 descrita no guia de chaves de API e SDKs.
O que é o Login with Posty5
A Posty5 agora é um provedor de OAuth 2.0 e OpenID Connect. Você registra seu app no Posty5 Studio, envia os usuários à Posty5 para entrar e recebe de volta um token de identidade assinado que informa ao seu servidor quem eles são. Seu site nunca vê a senha da Posty5 deles.
Como segue o padrão, funciona com os pacotes da Posty5 para Node.js e Angular e com qualquer biblioteca certificada de OpenID Connect: ASP.NET Core, Python, PHP ou Java. Registrar apps e fazer o login dos usuários não consome créditos, em nenhum plano.
O que seus usuários veem
- Um botão Login with Posty5 ou Continuar com Posty5 na sua página de login.
- A própria página de login da Posty5, se ainda não estiverem conectados: a senha é digitada somente em posty5.com.
- Uma tela de consentimento com o nome, o logotipo, o site, a política de privacidade e os termos do seu app, e uma linha para cada dado que você pede, com Permitir e Cancelar.
- A escolha fica salva: o próximo login passa direto. Eles podem remover o acesso do seu app a qualquer momento em Conta e depois Apps conectados.
O passo a passo completo do lado do usuário está em O que é o Login with Posty5 e meus dados estão seguros?, que você pode linkar na sua própria página de login.
O que você ganha como desenvolvedor
- OpenID Connect padrão: o fluxo de código de autorização com PKCE obrigatório em todo login, e um documento de descoberta com o qual a maioria das bibliotecas se configura sozinha.
- Tokens de identidade assinados (RS256) com o nome, a foto e o e-mail do usuário e se o e-mail foi verificado, apenas para os escopos que o usuário permitiu.
- Um ID de usuário privado para o seu app. O
subé estável para o seu app e diferente nos apps de outros desenvolvedores, então os apps não conseguem cruzar usuários entre si. - @posty5/oauth para back ends Node.js, com links de login assinados que não precisam de armazenamento de sessão, e @posty5/oauth-angular, um botão Continuar com Posty5 personalizável para Angular.
- Login pelo navegador para apps só de front end: ativado por app e aceito apenas das origens de site que você listar.
- Uma aba Usuários para cada app no Posty5 Studio, e uma chave de API adicionada ao app que lê a mesma lista a partir do seu servidor.
Adicione em quatro passos
- No Posty5 Studio, abra Kit para desenvolvedores, depois Apps OAuth, e escolha Registrar app. Informe o nome, o logotipo e os links que os usuários vão ver, e seu endereço de retorno como URI de redirecionamento.
- Copie o ID do cliente e o segredo do cliente para a configuração do seu servidor. O segredo aparece uma única vez; você pode trocá-lo depois.
- Instale o @posty5/oauth e adicione duas rotas: uma que cria um link de login e envia o usuário à Posty5, e a sua rota de retorno, que verifica o resultado.
- Coloque um botão Login with Posty5 na sua página de login, entre uma vez você mesmo e vincule seus registros de usuário ao
subque você recebe.
const link = await posty5.createLoginLink({ returnTo: "/account" });
res.cookie("p5_binding", link.binding, { httpOnly: true, secure: true, sameSite: "lax" });
res.redirect(link.url);
// on your redirect URI
const { claims, returnTo } = await posty5.handleLoginCallback(req.query, { binding: req.cookies.p5_binding });O link de login leva o verificador PKCE, o nonce e seu endereço de retorno dentro de um state selado, então seu servidor não guarda nada entre as duas requisições, e um cookie vincula o link ao navegador que o pediu.
Registre seu primeiro app OAuth
Crie o app no Posty5 Studio, copie as credenciais e teste um login no seu próprio site.
Escolha como integrar
- Um site com back end Node.js: use o @posty5/oauth. O segredo do cliente fica no seu servidor.
- Um app Angular: use o botão do @posty5/oauth-angular e deixe seu back end conduzir o login. Veja como adicionar um botão Continuar com Posty5 no Angular.
- Um app estático sem back end: ative o login pelo navegador para o app, liste as origens do seu site e use o modo browser do pacote Angular ou qualquer cliente OpenID Connect com suporte a PKCE.
- Qualquer outra linguagem: aponte sua biblioteca OpenID Connect para https://api.posty5.com com seu ID do cliente e seu segredo.
Limites para conhecer antes de começar
- Não há tokens de atualização. O token de acesso dura 1 hora, então mantenha sua própria sessão após o login.
- O login silencioso (prompt=none) não é oferecido. Você pode forçar um novo login com prompt=login ou max_age.
- O Login with Posty5 compartilha apenas a identidade: nome, foto e e-mail. Ele não dá ao seu app acesso ao conteúdo do usuário na Posty5.
- Uma conta pode registrar até 20 apps OAuth, cada um com até 10 URIs de redirecionamento exatas.
Perguntas frequentes
O Login with Posty5 consome créditos?
Não. Registrar apps OAuth e fazer o login dos usuários não consome créditos, em nenhum plano.
Quais dados meu app pode receber?
Somente o que o usuário permite: sempre um ID de usuário para o seu app, o nome e a foto de perfil com o escopo profile, e o e-mail e se ele foi verificado com o escopo email.
Posso usar sem back end?
Sim. Ative o login pelo navegador para o app e liste as origens do seu site. O navegador então troca o código com PKCE e sem segredo do cliente. Se você tem um back end, ele continua sendo o melhor lugar para o login.
Por que o ID de usuário é diferente no meu outro app?
O sub é pairwise: depende do host do primeiro URI de redirecionamento de cada app, então apps de desenvolvedores diferentes não conseguem cruzar usuários. Apps registrados com o mesmo host recebem o mesmo valor.
Posso ver quem entrou no meu app?
Sim. Cada app tem uma aba Usuários no Posty5 Studio, e uma chave de API adicionada ao app lê a mesma lista a partir do seu servidor, só com o que cada usuário compartilhou.
O que acontece quando um usuário remove o acesso?
Seus tokens de acesso para esse usuário param de funcionar, o usuário sai da sua lista de Usuários e o próximo login dele mostra a tela de consentimento de novo. A conta dele no seu site não é afetada.



