Como funciona
1
O seu servidor gera o token
Com a chave da API de operador, que fica só no servidor, peça um token para o e-mail do aluno:Use só o
token. O authenticated_url abre a área de membros hospedada, não o seu site.2
O seu servidor redireciona o aluno
Envie o navegador para a rota
/sso do seu site com o token:3
O seu site troca o token por uma sessão
A rota
/sso lê o token do endereço e o troca por um token de aluno em POST /auth/exchange, informando a área de membros. Com o template, essa rota já existe. Veja A rota /sso para o seu próprio stack.Exemplos no servidor
Uma rota do seu sistema que o aluno abre quando quer ir para a área de membros. Nos três exemplos, o aluno já está logado no seu sistema, a chave da API está na variável de ambienteMEMBERKIT_API_KEY e o site está em aulas.suamarca.com.br.
404 quando o e-mail não é de um aluno da área de membros, quando o aluno está bloqueado e para contas de dono e colaborador. Trate esse caso como “sem acesso”, não como erro.
Garanta que o aluno existe
O token só sai para quem já é aluno. Se o seu sistema é quem libera o acesso, cadastre o aluno antes de gerar o token, comPOST /api/v1/users. A chamada cria ou atualiza pelo e-mail, então pode ser feita a cada login sem duplicar ninguém:
A rota /sso
No seu próprio stack, crie uma rota que leia o token do endereço, faça a troca e guarde o token de aluno como o login comum guardaria. O código roda no navegador e não precisa de segredo nenhum; a chave headless é pública:invalid_token quando o token expirou ou não é desta área de membros e account_locked quando o aluno foi bloqueado. Nos dois casos, mostre a mensagem na tela de login.
Regras
- A chave da API de operador nunca vai para o site. Ela controla a área de membros inteira. Só o token de login, que vale para um aluno e por 24 horas, chega ao navegador.
- O token vale por 24 horas e pode ser trocado mais de uma vez nesse período. Cada troca é um login novo: como cada aluno tem uma sessão por vez, ela encerra a sessão anterior dele, em outro dispositivo ou na área de membros hospedada.
- Gere o token na hora do clique, não antes. Um token guardado numa página ou num e-mail seu expira sem aviso e leva o aluno para a tela de login.
- Os e-mails da MemberKit usam o mesmo token. Ao apontar os templates para o seu site, os links deles passam pela mesma rota
/sso. Veja E-mails para o seu site.