Acapadev

Capítulo 2

Instalação do SDK (Frontend)

Para adicionar o One-Tap à sua aplicação, a primeira coisa a fazer é importar a nossa biblioteca JavaScript leve. Pode adicioná-la no <head> do seu HTML ou no final do <body>.

<script src="id.acapadev.com/js/acapadev-gsi.js"></script>

Inicialização do Prompt

Após carregar o SDK, deve inicializá-lo com o seu client_id (obtido no painel OAuth2) e com a referência da função (não o nome em string) que irá receber as credenciais JWT após o utilizador concluir o login.

window.onload = function () {
    acapadev.id.initialize({
        client_id: 'SEU_OAUTH_CLIENT_ID_AQUI',
        callback: handleAcapadevCredential // Referência direta à função, NÃO uma string
    });

    // Despoleta o render do popup One-Tap
    acapadev.id.prompt();
}

function handleAcapadevCredential(response) {
    // Aqui tem o seu Token JWT super seguro!
    console.log("Token JWT Recebido:", response.credential);

    // O próximo passo é enviar isto para o backend:
    enviarParaOBackend(response.credential);
}

Erro Comum: passar o callback como string

O SDK guarda exatamente o que lhe é passado em callback e só o invoca se for uma função (typeof callback === 'function'). Se passar uma string com o nome da função (ex: callback: 'handleAcapadevCredential'), o SDK nunca a irá disparar — não há resolução automática de window[nomeDaFuncao] nesta chamada. Passe sempre a referência direta da função, como no exemplo acima.

Alternativa: Auto-init via atributos HTML

Se preferir não escrever JavaScript de inicialização, pode usar um <div> com atributos data-*. Neste caso, e só neste caso, o SDK resolve o nome da função a partir de window[data-callback] automaticamente assim que a página carrega:

<div id="acapadev-one-tap" data-client_id="SEU_OAUTH_CLIENT_ID_AQUI" data-callback="handleAcapadevCredential"></div>

<script>
function handleAcapadevCredential(response) {
    console.log("Token JWT Recebido:", response.credential);
}
</script>

Domínios Permitidos (CORS)

O One-Tap só funcionará se o domínio da sua aplicação estiver na lista de Allowed Origins no Portal de Developer. Isto é uma medida de segurança nativa baseada na Header Content-Security-Policy para evitar Clickjacking.

Enter para selecionar ESC para sair