我正在构建一个包含2层的应用程序:-
1. 本地Android应用程序 - 包含通过Facebook + Google登录以使注册更加简单的功能。
2. 使用Spring Boot的Java服务器 - 典型的MVC端点,如REST API和UI管理屏幕。
Facebook(FacebookSdk)和Google(GoogleApiClient)的登录部分均已工作并使用以下Android依赖项进行了测试:-
1. 本地Android应用程序 - 包含通过Facebook + Google登录以使注册更加简单的功能。
2. 使用Spring Boot的Java服务器 - 典型的MVC端点,如REST API和UI管理屏幕。
Facebook(FacebookSdk)和Google(GoogleApiClient)的登录部分均已工作并使用以下Android依赖项进行了测试:-
dependencies {
compile 'com.facebook.android:facebook-android-sdk:4.6.0'
compile 'com.google.android.gms:play-services-auth:9.0.0'
....
}
就API而言,我们有:
/api/signin
- 当用户使用Facebook + Google成功登录并在users
数据库表中创建条目时调用。
还有其他一些API端点,例如提供:
/api/offers/<user_id>
- 向已注册用户返回报价。
我不确定最佳实践方式是:
Android应用程序如何调用/api/signin REST端点(即哪些标头等可发送到一个没有安全性的端点,因为未注册的用户将会访问此端点)。此外,在
users
数据库表中保存哪些字段是可以的?Android应用程序如何调用API以向已注册用户提供报价,例如/api/offers/?即,应该传递哪些令牌等?
Spring Security保护这些端点的最佳实践方法。
假设OAuth 2是正确的选择,但任何建议/指针都将不胜感激。