2010-04-29 17 views
17

¿Por qué OAuth incluye un token de acceso y un secreto de token de acceso como dos valores separados? Como consumidor u OAuth, todas las recomendaciones que he visto indican que debo almacenar el token y el secreto juntos y esencialmente tratarlos como un solo valor.¿Por qué OAuth proporciona un token de acceso y un secreto de token de acceso? ¿Por qué no solo un solo valor?

Entonces, ¿por qué la especificación requiere dos valores en primer lugar?

+0

Es posible que haya respondido a mi propia pregunta, pero sospecho que el motivo se está indexando para el proveedor de OAuth. Un proveedor puede buscar de manera eficiente un registro por token de acceso y luego verificar el secreto del token de acceso, en lugar de tener que buscar una combinación larga y no muy indexable. –

Respuesta

21

En realidad, el secreto del token de acceso nunca se transmite al proveedor. En cambio, las solicitudes transmiten el token de acceso y luego usan el secreto para firmar la solicitud. Es por eso que necesita ambos: uno para identificar y otro para proteger

+0

Pero entonces, ¿por qué Twitter nos hace transmitir el secreto ahora también? Consulte https://dev.twitter.com/docs/auth/application-only-auth –

+1

@JoshuaFrank No estoy seguro de por qué. Probablemente sea algo que quieras dirigir en Twitter ellos mismos. Pero de cualquier manera, una cosa importante a tener en cuenta es que su método ** requiere ** SSL para estar seguro. – yydl

+0

Un buen punto acerca de SSL, pero luego volví a no entender por qué necesitamos una clave Y un secreto. –

0

Hay 2 secretos, uno es secreto simbólico y otro es secreto de consumidor. Los secretos se utilizan para firmar las solicitudes (para generar la firma oauth) pero no se transmiten en el encabezado de solicitud donde se envía el token en el encabezado para identificar al cliente y verificar si tiene acceso.

Cuestiones relacionadas