Como funciona
O Flowella suporta três tipos de concessão OAuth: código de autorização com PKCE para as organizações dos clientes, credenciais de cliente para a sua própria organização e tokens de atualização. A sequência mostra como um cliente instala a sua aplicação com a concessão por código de autorização.Antes de começar
- Precisa da função Owner ou Admin na organização que será proprietária da aplicação. Outras funções veem Developer apps no menu, mas a lista não carrega para elas.
- A sua aplicação precisa de um endereço de callback (redirect URI) que possa receber o código de autorização.
- A sua aplicação tem de enviar um valor
statee umcode_challengePKCE gerado comS256em cada pedido de autorização.
Registar uma aplicação
1
Abra Developer apps
Aceda a Settings e depois selecione Developer apps no grupo Developer.
2
Inicie uma nova aplicação
Selecione Create app. A caixa de diálogo Create developer app abre-se.
3
Dê um nome à aplicação
Em App name, introduza o nome pelo qual os clientes conhecem o seu produto, com até 120 caracteres, por exemplo
Acme CRM connector.4
Adicione redirect URIs
Em Redirect URIs, introduza cada endereço de callback numa linha própria, até 20. Durante a autorização, o
redirect_uri que a sua aplicação envia tem de corresponder exatamente a um destes.5
Escolha os âmbitos
Em Scopes, os âmbitos de leitura já vêm marcados. Marque qualquer outro âmbito de que a sua aplicação precise e desmarque os que não precisa. Estes são o máximo que a sua aplicação pode alguma vez pedir. Consulte Âmbitos.
6
Crie a aplicação e copie o segredo
Selecione Create app. A caixa de diálogo Save your client secret mostra o client secret, que começa por
flc_. Selecione Copy, guarde o segredo no seu servidor e depois selecione Done.floa_), os Redirect URIs e a data Created de cada aplicação, com um botão Delete em Actions.
Conduzir um cliente pela autorização
Envie o navegador do cliente para o endpoint de autorização no anfitrião da aplicação Flowella:
Se o pedido for inválido, o Flowella mostra um erro em vez do ecrã de consentimento e não redireciona. Isto acontece, por exemplo, quando o
redirect_uri não corresponde ou um âmbito não é permitido.
O que o cliente vê
- Se a pessoa não tiver sessão iniciada, o Flowella pede-lhe que inicie sessão primeiro.
- A pessoa tem de ser Owner ou Admin da organização. Qualquer outra pessoa vê o erro
Owner or admin role required to authorize apps. - O ecrã Authorize app mostra o seu Client ID: e os Requested scopes:. Se a sua aplicação não enviou um
scope, indica This app will receive its default allowed scopes. - A pessoa seleciona Allow access ou Deny.
redirect_uri com code e state na query string. O código é válido durante 10 minutos e funciona uma única vez. Deny envia o navegador para o seu redirect_uri com error=access_denied, um error_description e o seu state.
Trocar o código por tokens
O seu servidor troca o código no endpoint de tokens. Autentique-se com o seu client ID e segredo, através de autenticação HTTP Basic ou comoclient_id e client_secret no corpo. O corpo pode ser codificado como formulário ou JSON.
O endpoint de tokens aceita 30 pedidos por minuto por client ID e endereço IP. Acima disso, devolve
429 com um cabeçalho Retry-After.
Chamar a API
Envie o token de acesso como bearer token, exatamente como uma chave de API:403 INSUFFICIENT_SCOPE. Cada token de acesso tem o seu próprio limite de pedidos. Consulte a introdução à API.
POST /v1/templates/send aceita apenas chaves de API e recusa tokens de acesso OAuth com 401.Atualizar um token de acesso
Antes de o token de acesso expirar, peça um novo comgrant_type=refresh_token, o refresh_token e a autenticação do seu cliente. A resposta inclui um novo token de acesso e um novo token de atualização, e o token de atualização antigo deixa de funcionar. Se alguém apresentar um token de atualização que já foi usado, o Flowella revoga todos os tokens emitidos a partir dessa autorização e o cliente tem de aprovar novamente a sua aplicação.
Aceder à sua própria organização
Para chamar a API em nome da organização proprietária da aplicação, usegrant_type=client_credentials com a autenticação do seu cliente e um scope opcional. Recebe um token de acesso sem token de atualização. A sua aplicação passa então a aparecer em Installed apps na sua própria organização.
Revogar ou inspecionar um token
Ambos os endpoints exigem a autenticação do seu cliente. O documento de descoberta em
https://app.flowella.io/.well-known/oauth-authorization-server lista todos os endpoints e opções suportadas.
Rever e revogar aplicações instaladas
Os clientes gerem as aplicações que aprovaram em Installed apps. Precisa da função Owner ou Admin. A lista mostra:
Para revogar uma aplicação:
- Aceda a Settings e depois selecione Installed apps no grupo Developer.
- Selecione Revoke na linha da aplicação.
- Confirme a mensagem Revoke this install? Existing tokens stop working.
Revogar a sua própria aplicação na sua própria organização não impede a concessão por credenciais de cliente: a aplicação pode pedir um novo token, o que volta a ativar a instalação. Para cortar completamente o acesso da sua própria aplicação, elimine-a em Developer apps.
Eliminar uma aplicação
Em Developer apps, selecione Delete na linha da aplicação e confirme Delete this app and its tokens? O Flowella remove a aplicação, a sua instalação em todas as organizações que a aprovaram e todos os seus tokens. Esta ação não pode ser anulada.Resolução de problemas
Could not load developer apps ou Could not load installed apps
Could not load developer apps ou Could not load installed apps
Apenas Owners e Admins podem ver estes ecrãs. Peça a um Owner ou Admin que faça a gestão da aplicação por si. As funções não podem ser alteradas na aplicação: consulte Alterar a função de alguém.
Redirect URI não corresponde
Redirect URI não corresponde
O
redirect_uri no pedido tem de corresponder exatamente a um dos redirect URIs registados da aplicação, incluindo o esquema, o caminho e qualquer barra final. O mesmo valor tem de ser enviado novamente quando troca o código. Não pode editar os redirect URIs de uma aplicação, por isso registe uma nova aplicação se precisar de outro.invalid_scope
invalid_scope
Um âmbito pedido está mal escrito ou não é um dos âmbitos da aplicação. Peça apenas os âmbitos que marcou quando registou a aplicação.
A troca do código falha
A troca do código falha
As mensagens
Authorization code expired e Authorization code already used significam que tem de iniciar novamente a autorização: os códigos duram 10 minutos e funcionam uma única vez. PKCE verification failed significa que o code_verifier não corresponde ao code_challenge que enviou.Relacionado
Introdução à API
Autenticação, âmbitos, limites de pedidos e erros.
Developer hub
Pedidos de API recentes, guias de início rápido e a API sandbox.
Chaves de API
Acesso mais simples para os seus próprios scripts e integrações.
Referência de webhooks
Reaja a eventos nas organizações que instalam a sua aplicação.

