example - Spring boot REST api security para Android con el inicio de sesión de Google+Facebook
spring security 5 rest api (1)
Resp .: 1 / api / signin en el momento de la aplicación de inicio de sesión enviará la información del usuario al servidor y el servidor generará token y este token volverá en el inicio de sesión. La aplicación se puede guardar. Este token se puede cambiar cada cierto tiempo. puede usar cualquier biblioteca http para servicios web como voley, Retrofit, etc.
campos que necesita almacenar en db: userId, userName, userToken.
Resp: 2 / api / offers / puede verificar el ID de usuario del usuario en db si existe allí, entonces lanzará el mensaje ya presente en la respuesta del servicio web.
Resp: 3 usa la implementación de SSL para su servicio web que sería mucho más segura, y como ha mencionado usted va a usar token para cada usuario, será accesible solo para autenticar al usuario.
Nota: - El token debe cambiar cada 30 minutos o el tiempo que desee para que su funcionalidad de autenticación sea más segura.
Estoy construyendo una aplicación con 2 capas:
1. Aplicación nativa de Android : contiene la capacidad de iniciar sesión a través de Facebook + Google para que el inicio de sesión sea menos doloroso.
2. Servidor Java que utiliza Spring Boot : puntos finales MVC típicos, como las pantallas de administración REST api + UI.
Las partes de GoogleApiClient
Facebook ( FacebookSdk
) y Google ( GoogleApiClient
) están trabajando y probadas usando las siguientes dependencias de Android: -
dependencies {
compile ''com.facebook.android:facebook-android-sdk:4.6.0''
compile ''com.google.android.gms:play-services-auth:9.0.0''
....
}
API sabio tenemos:
/api/signin
: se/api/signin
cuando un usuario/api/signin
con éxito con Facebook + Google y crea una entrada en la tabla de la base de datos de unusers
.
También hay una serie de otros puntos finales API, por ejemplo, ofertas
/api/offers/<user_id>
- devuelve ofertas a un usuario ya registrado.
No estoy seguro de la mejor manera de practicar en la que:
Cómo la aplicación de Android hace llamadas API a / API / signin REST puntos finales (es decir, qué encabezados, etc están bien para enviar a lo que asumiría que es un punto final sin seguridad porque los usuarios no registrados estarán golpeando esto). Además, ¿qué campos están bien para guardar en la tabla db de los
users
?¿Cómo la aplicación de Android hace llamadas API a, por ejemplo, / api / ofertas / a usuarios ya registrados? es decir, cuándo tokens, etc. ¿debería pasar la aplicación de Android?
La mejor forma de seguridad de primavera para asegurar estos puntos finales.
Asumiendo que OAuth 2 es el camino a seguir, cualquier consejo / sugerencia será muy apreciado.