Pregunta

Acabo de pasar por la descripción de la aplicación de muestra Dredit de Google en Java ( código fuente ).Muestra cómo escribir una aplicación simple de unidad y maneja la autorización en el backend.

Es un buen ejemplo, pero el mayor inconveniente que he notado es el hecho de que el usuario debe iniciar sesión nuevamente cuando quiera elegir un archivo de su unidad (a pesar de que anteriormente autoriza la aplicación para hacerlo).Es inconveniente, así que me gustaría evitar eso.Elegir un archivo se realiza utilizando la API del Selector de Google que solo está disponible en JavaScript.

Por lo tanto, me gustaría compartir la información de autorización entre mi backend y frontend, ¿puedo pasar el token de OAuth que tengo en el backend a la frontend?Si es así, ¿hay una forma recomendada de hacerlo?

¿Fue útil?

Solución

Sí, está perfectamente bien.Snooping en el cliente según lo descrito en @tyDOTG no es realmente un problema, ya que el token de acceso es tan sano, independientemente de si se generó en el cliente o en el servidor.

El único desafío real es asegurarse de que solo está descargando un token al usuario autenticado correctamente.Hay una serie de esquemas que puede usar para hacer esto, pero por ejemplo: -

  1. El usuario se autentica a su aplicación usando el servidor basado en OAuth.
  2. Server almacena la ID de usuario o el correo electrónico en una variable de sesión
  3. Cuando su cliente solicita un token, use el usuario de la sesión para generar un token

Otros consejos

Usa la identidad cruzada para lograr esto:

https://developers.google.com/accounts/docs/crossclientauth

Estoy seguro de que usted puede (no estoy demasiado familiarizado con Java, pero en los rieles, por ejemplo, sería fácil), sin embargo, la razón por la que no querrá hacer esto es debido a la seguridad.

En el lado del servidor es bastante seguro y no es accesible para el cliente.Cualquier cosa en el lado del cliente, sin embargo, es un juego justo.Podría inspeccionar el elemento y, si supiera lo que estaba buscando, podía agarrar el token de OAuth.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top