Autenticação e acesso
OAuth oficial da Resend. Nenhuma API key no celular.
OAuth 2.1 + PKCE
O re: usa o fluxo de autorização da Resend (“Sign in with Resend”) com PKCE. É um cliente público: não existe segredo de cliente embutido no app. Cada login gera um code_verifier novo, e só o app que começou o fluxo consegue trocar o código pelo token. O retorno pro app usa o scheme próprio re://oauth/callback.
Client ID (CIMD)
O cliente é identificado por um documento de metadados (CIMD) hospedado no nosso domínio. A URL do documento é o próprio client_id:
https://tryre.dev/oauth/client.jsonÉ por isso que a tela de consentimento da Resend mostra o host tryre.dev. O documento é público e contém o nome do cliente, os redirects permitidos e os escopos.
Escopos
| Escopo | Na Resend | No re: |
|---|---|---|
full_access | Full access | Tudo: métricas, emails, Inbox, domínios, alertas, broadcasts, contatos, templates, logs, webhooks e API keys. |
emails:send | Sending access | Só enviar email. O app mostra Acesso só de envio e um botão pra Entrar de novo com acesso total. |
Com full_access o app lê o mesmo que o dashboard, mas só muda algo quando você toca. Ações destrutivas pedem confirmação, e Face ID se você ligar Pedir Face ID em ações destrutivas. O resumo fica no app em Ajustes › O que o re: acessa?.
Onde o token fica
Access token e refresh token ficam só no aparelho, no armazenamento seguro do sistema: Keychain no iOS e Keystore no Android. No iOS o item é marcado como “só este aparelho”, então não vai pra backup nem pra outro iPhone. O token nunca é enviado ao relay nem a qualquer servidor nosso.
Validade e renovação
- O access token dura 15 minutos e é renovado sozinho.
- O refresh token troca a cada renovação. Enquanto o app for usado, a sessão continua.
- As renovações de um mesmo time passam por uma fila única. Reusar um refresh token antigo faz a Resend revogar a autorização inteira, e o app evita isso.
- Widgets nunca renovam o token. Veja Widgets.
Se a Resend recusar a renovação, a sessão expira e o app pede pra entrar de novo. Alertas e preferências continuam salvos.
Revogar o acesso
Pelo app: Ajustes › Sair da conta revoga o acesso na Resend na hora e apaga o token do aparelho. Com vários times, Sair deste time revoga só o time ativo.
Pelo dashboard da Resend: remova a autorização do re: na lista de aplicativos conectados. Na próxima chamada, o app recebe a recusa e volta pra tela de login.
Revogar o acesso não remove o webhook que o re: criou pra os alertas. Pra isso, veja remover tudo.
Faltou algo nesta página? Conte no quadro de feedback