¿Cómo puedo verificar un token de acceso de autenticación de Google?¿Cómo puedo verificar un token de acceso a la API de autenticación de Google?
Necesito de alguna manera consultar a Google y preguntar: ¿Es [token de acceso dado] válido para la cuenta de Google [[email protected]]?
corta Versión:
Es claro cómo un token de acceso suministrado a través de la Google Authentication Api :: OAuth Authentication for Web Applications se puede utilizar para a continuación solicitar datos de una amplia gama de servicios de Google. No está claro cómo verificar si un token de acceso dado es válido para una cuenta de Google determinada. Me gustaría saber cómo.
Versión larga:
Estoy desarrollando una API que utiliza la autenticación basada en token. Se devolverá un token con la provisión de un nombre de usuario y contraseña válido o con la provisión de un token de terceros a partir de cualquiera de los servicios verificables N.
Uno de los servicios de terceros será Google, que permite a un usuario autenticarse contra mi servicio utilizando su cuenta de Google. Esto se ampliará más adelante para incluir cuentas de Yahoo, proveedores confiables de OpenID, etc.
ejemplo esquemático de acceso basado en Google:
alt text http://webignition.net/images/figures/auth_figure002.png
La entidad 'API' está bajo mi control total. La entidad de 'interfaz pública' es cualquier aplicación basada en web o escritorio. Algunas interfaces públicas están bajo mi control, otras no y otras todavía no las conozco.
Por lo tanto, no puedo confiar en el token suministrado a la API en el paso 3. Esto se proporcionará junto con la dirección de correo electrónico de la cuenta de Google correspondiente.
Necesito de alguna manera consultar Google y preguntar: ¿Es este token de acceso válido para [email protected]?
En este caso, [email protected] es el identificador único de la cuenta de Google, la dirección de correo electrónico que alguien utiliza para iniciar sesión en su cuenta de Google. No puede suponerse que es una dirección de Gmail: alguien puede tener una cuenta de Google sin tener una cuenta de Gmail.
La documentación de Google indica claramente cómo, con un token de acceso, se pueden recuperar datos de una serie de servicios de Google. Nada parece indicar cómo puede verificar si un token de acceso dado es válido en primer lugar.
Actualización El token es válido para N servicios de Google. No puedo probar un token contra un servicio de Google para verificarlo, ya que no sabré qué subconjunto de todos los servicios de Google utiliza realmente un usuario determinado.
Además, nunca utilizaré el token de acceso de autenticación de Google para acceder a los servicios de Google, simplemente como un medio de verificar que un supuesto usuario de Google es quien dicen ser. Si hay otra forma de hacerlo, estoy feliz de intentarlo.
Lo específico del servicio de autenticación es esta pregunta acerca de (OAut h, AuthSub, aplicaciones instaladas, ...)? Proporcione un enlace más detallado. –
@Martin v. Löwis: El servicio de 'Autenticación OAuth para aplicaciones web' - He actualizado el comienzo de la pregunta para reflejar esto. ¡Gracias por señalar esto! –
artículo interesante sobre la verificación de claves de Google podría proporcionar más información http://groups.google.com/group/Google-Maps-API/msg/f9e3c5ad3cbda4d7 – dotjoe