Login Tokens

From Social ID Developers
Revision as of 15:27, 2 September 2013 by Renato.neves (Talk | contribs)
Jump to: navigation, search

Contents

Tokens

login_token

É o token gerado a cada login social feito pelo usuário.

É fornecido no evento socialid.events.onLoginSuccess ou enviado como parâmetro ao callback url cadastrado no Social Login.

Características:

  • Atualiza: a cada login social
  • Validade: expira em 1 hora

APIs:

connection_id

É um identificador gerado para cada conexão ativa do usuário. Representa a sessão do usuário no Social Login.

Os Widgets do Social Login automaticamente identificam usuários logados dado o connection_id salvo como cookie no browser do usuário.

Características:

  • Atualiza: a cada login social ou via API
  • Validade: expira em 15 dias

APIs:

user_token

É um token que serve para identificar o usuário. É usado em algumas APIs Javascript para identificar o usuário de forma segura.

Características:

  • Atualiza: a cada login social ou via API
  • Validade: não expira

APIs:

Segurança da Informação

As APIs REST utilizam o protocolo de autenticação HTTP Basic. Veja a documentação de autenticação.

As APIs Javascript utilizam a sessão do usuário atualmente logado no Social Login ou identificadores como connection_id e user_token como parâmetros de autenticação.

APIs Javascript precisam de um cuidado redobrado em termos de segurança da informação pois são usadas no browser do usuário (ex: não é possível garantir validade de código Javascript) e em condições desconhecidas (ex: redes Wi-Fi públicas não encriptadas). Assim como qualquer sessão de browser, as APIs Javascript estão sujeitas a ataques de Session Hijacking ou Man-in-the-middle, dentre vários outros.

A fim de minimizar riscos de segurança, listamos algumas boas práticas a seguir. O desenvolvedor que está integrando nossas APIs precisa estar ciente que o uso indiscriminado dos identificadores connection_id e user_token pode levar a riscos de segurança.

Boas Práticas

  • Atualize o user_token periodicamente usando a API REST PUT login/users/:user_id/token. Como o user_token não expira e pode ser usado em APIs JS críticas (ex: logar ou mover usuários), é recomendável mudar o token periodicamente para evitar Session Hijacking.
  • Use conexão segura (HTTPS) em seu site para trafegar os dados e impedir que os tokens sejam interceptados por atacantes em redes desprotegidas. Veja Man-in-the-middle attack.
  • Evite armazenar qualquer token em Cookies. Caso o faça, use o atributo "secure" do Cookie.
  • Use as APIs REST apenas no backend, nunca via Javascript (frontend). O API ID e API Secret usado na autenticação das mesmas não deve ser exposto no browser dos usuários.
  • Utilize uma autenticação extra (ex: login tradicional com login e senha) em operações críticas em seu site (ex: operações financeiras, gerenciamento de cartão de crédito, etc).
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox