Pular para o conteúdo principal
O endpoint generateJWT gera uma URL de vinculação de rede social para um único User Profile. Consulte a integração da API do Business Plan e Launch Plan para mais detalhes.

Alternar entre profiles

Para alternar entre diferentes sessões de profile (por exemplo, ao testar com múltiplos profiles), você precisa fazer logout do profile atual primeiro. Consulte Logout automático de uma sessão de profile para instruções sobre como lidar corretamente com a troca de profiles.

Private Key e Profile Key

Onde obter a Private Key

O arquivo da Private Key (private.key) e um arquivo JSON de exemplo do Postman estão incluídos no seu Integration Package recebido durante o onboarding. O Integration Package também pode ser obtido no painel de desenvolvedor do Ayrshare, na página da API -> Integration Package.

Usando a Private Key

Recomendamos ler a Private Key private.key de um arquivo e enviá-la como string no campo privateKey, o que permite preservar todos os caracteres, incluindo quebras de linha. A Private Key deve ser precisa, ou seja, preservar todos os caracteres, incluindo quebras de linha. Se você colar a chave em seu código, pode ser necessário substituir manualmente as quebras de linha por um caractere \n ou codificar a string em URL. Colar a chave diretamente no código frequentemente causa problemas.

Gerar um JSON Web Token

Vídeo de 1 minuto explicando como gerar um JSON Web Token (JWT):
A URL do JWT é válida por 5 minutos. Após 5 minutos, você deve gerar uma nova URL de JWT. Consulte Max Pack expiresIn para opções adicionais.

Abrir a URL do JWT

Abra a URL do JWT em uma nova aba do navegador, nova janela do navegador ou View Controller no iOS. Você pode controlar o fechamento ou redirecionamento da nova janela ou aba.
As redes sociais não permitem abrir a URL em um iFrame nem ofuscar o domínio de origem aprovado do parceiro profile.ayrshare.com.

Verificar a URL do JWT

O endpoint generateJWT não valida a URL do JWT retornada por padrão. Por exemplo, se uma Private Key corrompida for passada para o generateJWT, uma URL ainda será retornada e a URL resultará em um erro 401. Você pode verificar a URL do JWT retornada incluindo verify: true nos parâmetros do corpo de generateJWT. Se a URL do JWT não puder ser validada, um erro será retornado. Por exemplo, se a Private Key tiver um caractere removido, o seguinte será retornado:
JWT Error
Recomendamos usar verify: true apenas em ambientes fora de produção, pois a validação consome tempo de processamento adicional.

Testando no Postman

É recomendado testar primeiro a criação da URL do JWT no Postman. Incluído no Integration Package, encontrado na página da API Key do Primary Profile no painel, há um arquivo JSON de configuração de exemplo para o Postman que traz tudo o que você precisa para verificar a criação da URL do JWT. Basta importar o arquivo de configuração no Postman, preencher seu Profile Key (encontrado no painel de desenvolvedor do Ayrshare alternando para o profile que deseja testar) no campo body profileKey e clicar no botão azul Send. Todos os outros campos obrigatórios já estão preenchidos. Você também pode gerar o código a partir do Postman, ou ler o arquivo da chave de um diretório ou banco de dados.

Método de vinculação do Instagram

Contas do Instagram podem ser vinculadas de duas formas: diretamente via Instagram Login ou por meio de uma Página do Facebook conectada. Qual fluxo será iniciado quando um usuário clicar no botão do Instagram na página de vinculação de contas sociais normalmente é controlado pela configuração de Instagram Login em nível de conta no painel. O parâmetro do corpo instagramLinkMethod do endpoint generateJWT permite sobrescrever essa configuração para uma única URL de vinculação:
ValorFluxo de vinculação do Instagram
instagramInstagram Login direto. Não é necessária uma Página do Facebook.
facebookVincular por meio de uma Página do Facebook conectada.
Por exemplo, se o padrão da sua conta for vinculação via Página do Facebook, o seguinte força o Instagram Login direto apenas para esta sessão de vinculação:
Instagram Link Method
A URL do JWT gerada incluirá o override, e clicar no botão do Instagram na página de vinculação iniciará o fluxo solicitado durante toda a sessão — incluindo o redirecionamento de autorização do Instagram/Facebook. Algumas coisas a saber:
  • O override se aplica somente à página de vinculação aberta a partir da URL retornada. Ele não altera a configuração de Instagram Login em nível de conta nem afeta outras sessões de vinculação.
  • Se instagramLinkMethod for omitido, a página de vinculação usa sua configuração em nível de conta, exatamente como antes.
  • Se um valor inválido for enviado, um erro 400 será retornado listando os valores válidos (instagram, facebook).
  • Revise as diferenças entre os recursos dos dois fluxos antes de escolher um override — alguns recursos do Instagram, como pesquisa de hashtag e colaborações, estão disponíveis apenas com a autenticação via Página do Facebook.

JWT Expires In

Se você quiser um timeout do JWT maior que os 5 minutos padrão, inclua o campo expiresIn. Por exemplo, envie o seguinte JSON para definir a URL do JWT como válida por 30 minutos:
JWT Expires In
Isso permite que você envie o link por e-mail aos seus usuários em vez de eles precisarem acessar seu aplicativo ou plataforma. Um caso de uso comum é quando seu usuário precisa reconectar uma conta social: você pode enviar o link do JWT por e-mail para reconectar diretamente a conta social, sem precisar navegar até sua plataforma.
Certifique-se de revisar com sua equipe de segurança por quanto tempo sua empresa deseja manter o JWT ativo. Tempos de expiração mais longos criam risco adicional de acesso não autorizado ao link.

Integrações

JWT no Bubble.io

Se você é um usuário do Bubble, consulte Generate JWT Token na seção do Bubble.io para instruções:

Bubble Generate JWT

JWT em mobile

Os seguintes exemplos de código para mobile em Swift, Flutter e React Native mostram como iniciar a página de vinculação de contas sociais em um dispositivo iOS. Substitua a variável String jwtURL pelo retorno do endpoint /generateJWT.

Swift (iOS)

Em Swift, use um UIViewController e SFSafariViewControllerDelegate. Não recomendamos usar um WebView, já que algumas redes sociais, como Facebook e Google, bloqueiam a autenticação.

Flutter (Dart)

No Flutter (Dart), não há um equivalente direto a um UIViewController ou ao SFSafariViewController. No entanto, você pode obter uma funcionalidade semelhante usando o pacote url_launcher para abrir URLs web.

React Native

O React Native também não tem um equivalente direto ao SFSafariViewController, mas você pode obter um resultado semelhante com a API WebBrowser fornecida pelo expo-web-browser, que abre uma URL em uma janela modal do navegador que compartilha cookies com o navegador do sistema. Como alternativa, você pode usar a função Linking nativa do React Native para abrir o Safari: await Linking.canOpenURL(jwtURL);

Exemplos de código para mobile

E-mail de conexão de contas

Em conjunto com a opção de tempo de expiração maior, você também pode fazer com que o Ayrshare envie automaticamente aos seus usuários um e-mail com um link para a página de vinculação de contas sociais.

JSON de conexão de contas

Por exemplo, o JSON a seguir enviará um e-mail para john@user.com com o nome da empresa ACME, e-mail de contato support@mycompany.com e links para os termos e política de privacidade:
Example Contact Email Request
A resposta incluirá o seguinte se o e-mail e o tempo de expiração forem definidos:
Example Contact Email Response

Exemplo de e-mail JWT Connect Accounts

Aqui está um exemplo de e-mail com o link Connect Account que abre a página de vinculação de contas sociais: JWT Email O e-mail virá do endereço: Social Connect Hub <connect@socialconnecthub.com>