Login Tokens

(Difference between revisions)
Jump to: navigation, search
(Boas Práticas de Segurança)
(Boas Práticas de Segurança)
Line 41: Line 41:
 
* Dado um user_token, é possível logar um usuário na sessão do Social Login (gerando um novo connection_id) usando a API Javascript [[socialid.login.loginUserToken]].
 
* Dado um user_token, é possível logar um usuário na sessão do Social Login (gerando um novo connection_id) usando a API Javascript [[socialid.login.loginUserToken]].
  
== Boas Práticas de Segurança ==
+
== Segurança da Informação ==
  
* Deslogue o usuário do Social Login sempre que ele se deslogar da sua aplicação. Use a API JS [[socialid.login.logout]] ou a API REST [[DELETE login/connections/:id]].
+
As APIs REST utilizam o protocolo de autenticação HTTP Basic. Veja a documentação de [[Authentication|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).
 +
 
 +
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 ===
 +
 
 +
* Deslogue o usuário do Social Login sempre que ele se deslogar da sua aplicação. Use a API Javascript [[socialid.login.logout]] ou a API REST [[DELETE login/connections/:id]].
  
 
* 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 [http://en.wikipedia.org/wiki/Session_hijacking Session Hijacking].
 
* 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 [http://en.wikipedia.org/wiki/Session_hijacking Session Hijacking].

Revision as of 15:23, 2 September 2013

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).

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.
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox