2010-05-12 20 views
16

Estoy escribiendo una aplicación web que utilizará Twitter como su principal método de inicio de sesión. He escrito un código que devuelve el token oauth de Twitter. Mi plan ahora es¿Qué hacer con Twitter oauth token una vez recuperado?

  1. Busque la entrada en la tabla de mi Usuarios para el nombre de usuario de Twitter recuperado utilizando el token, o crear la entrada si
  2. actualización de la columna de la Users.TwitterOAuthToken necesaria con el nuevo token de OAuth
  3. Crear una cookie permanente con un guid al azar en el sitio e insertar un registro en mi tabla UserCookies que coincida con la cookie del usuario
  4. cuando entre una solicitud Buscaré la identificación de la cookie del navegador en la tabla UserCookies, luego la usaré para descubrir el usuario y hacer solicitudes de Twitter en su nombre
  5. Escribe el token OAuth en algunas páginas como una variable js para que JavaScript puede hacer peticiones en nombre del usuario
  6. Si el usuario borra su/sus galletas el usuario tendrá que conectarse de nuevo a twitter

¿Es este el proceso correcto? ¿He creado agujeros de seguridad masivos?

Respuesta

10

Suena bien.

Sin embargo, sugiero no utilizar el nombre de usuario de Twitter como el índice principal para la tabla de usuario. Como los nombres de usuario de Twitter pueden cambiar. Aprendí esto de la manera difícil.

Debería estar bien usando el ID de usuario de Twitter (big int) como el índice principal, ya que no cambia si el usuario cambia su nombre de usuario.

En cuanto al token en sí mismo, está bien si lo almacena para usarlo en el futuro. De hecho, se lo alienta a hacerlo.

+0

Gracias, han ido con la identificación. ¿Es seguro enviar el token oauth al cliente para realizar solicitudes? – mcintyre321

+0

sí, porque el token está vinculado a su aplicación. – Jayrox

+1

No importaría si alguien olfatea los datos que envié y luego realizó las solicitudes con ese token de autenticación. ¿O estoy siendo demasiado paranoico? – mcintyre321

0

¿No podría simplemente guardar el oauth_token como cookies en lugar del GUID y hacer la búsqueda basada en el usuario en oauth_token o es una mala práctica?

Cuestiones relacionadas