2010-10-19 19 views
13

¿Cómo uso OAuth en mi aplicación Java GWT? En particular, quiero obtener una lista de usuarios en mi dominio de Google Aps, el uso de esta API:¿Cómo uso OAuth en mi aplicación GWT?

http://code.google.com/googleapps/domain/profiles/developers_guide_protocol.html

Sé que esto suena como una pregunta, que probablemente se ha hecho muchas veces antes, pero yo no se pudo encontrar ningún código Java sobre cómo realizar los pasos de OAuth descritos en la API anterior.

Me alegraría que alguien pudiera compartir algún código, o señalarme los documentos correctos.

Respuesta

4

¿Qué quiere decir con su aplicación GWT? ¿Se refiere solo al lado del cliente?

Porque en el servidor puede usar fácilmente la biblioteca OAuth Scribe.

Tiene una buena documentación y es bastante simple de usar.

+0

necesitaré la autenticación del lado del servidor, porque yo no quiero que el usuario sea capaz de modificar la lista de usuarios de su dominio . Pero no estoy seguro, si Scribe es lo que estoy buscando. Para usarlo, necesitas un API_KEY y API_SECRET. Sin embargo, Google no proporciona dicha API de perfiles de aplicaciones. Por lo que yo entiendo, esto se debe a que scribe es para aut-2 y lo que estoy tratando de lograr es 3-legged-auth, es decir, me gusta que el usuario se autentique con Google, no mi servidor con Google, ¿verdad? – JochenJung

+0

Sí, por desgracia, tiene razón (creo), Scribe solo ayuda con la autenticación de 2 patas. Sin embargo, lo examinaré más detenidamente (aunque probablemente ya lo hayas hecho) y editaré mi respuesta si encuentro algo. – Simeon

+0

Encontré API_KEY y _SECRET en la configuración de Google Apps. Aunque todavía no estoy seguro de si va a funcionar, creo que Scribe es la mejor biblioteca disponible. Gracias. – JochenJung

7

This tutorial de Matt Raible es fácilmente el mejor que he visto hasta ahora en OAuth y gwt. También tiene una muy buena imagen que representa el flujo de autenticación, que siempre encuentro ayuda. Sin embargo, como dice el propio Matt, la solución no es 100% confiable, pero aún puede obtener una parte del camino.

Con esto en mente, podría ser mejor ir con una implementación pura de javascript. Encontrará una de esas implementaciones right here. This SO thread puede ser útil para usted si elige ese camino.

La mejor de las suertes para usted.

2

para la integración de OAuth y GWT, usted debe comenzar con Scribe que se ocupa de la aplicación de la OAuth:

https://github.com/fernandezpablo85/scribe-java

A continuación, es necesario crear un widget GWT que puede manejar las interacciones del usuario para adquirir el permiso para acceder a su cuenta. A continuación, tome el token de respuesta y realice las solicitudes de API al sitio externo.

No hay necesidad de volver a implementar OAuth cuando scribe ya lo hace por usted; solo tiene que hacerlo. Probablemente me propongo utilizar una ventana emergente GWT para hacer la autenticación:

http://gwt.google.com/samples/Showcase/Showcase.html#!CwBasicPopup