簡體   English   中英

使用Google + Facebook登錄的Android App的Spring Boot REST API安全性

[英]Spring boot REST api security for Android App using Google + Facebook login

我正在構建一個具有兩層的應用程序:-

1.本機Android應用程序 -包含通過Facebook + Google登錄的功能,以減輕登錄負擔。

2.使用Spring Boot的Java Server-典型的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> - 將報價返回給已注冊的用戶。

我不確定以下最佳做法:

  1. android app如何對/ api / signin REST終結點進行API調用(即,可以將哪些標頭等發送到我認為是沒有安全性的終結點因為未注冊的用戶會遇到此問題)。 另外,可以將哪些字段保存在users數據庫表中?

  2. API如何通過android應用程序調用已注冊用戶的/ api / offers / 即什么時候令牌等應該Android應用程序傳下來?

  3. Spring安全性保護這些端點的最佳實踐方法。

假設您要使用OAuth 2,但我們將不勝感激任何建議/指針。

Ans:1 / api / signin在登錄應用程序時會將用戶信息發送到服務器,服務器將生成令牌,並且此令牌將在登錄時返回。應用程序可以保存此令牌,可以不時更改。 您可以將任何http庫用於網絡服務,例如凌空,復古等。

您需要存儲在db中的字段:userId,userName,userToken。

Ans:2 / api / offers /您可以在db中檢查用戶的userId(如果存在),那么您將拋出Web服務響應中已經存在的味精。

Ans:3在您的Web服務中使用SSL實現非常安全,並且正如您已經提到的,您將為每個用戶使用令牌,只有經過身份驗證的用戶才能訪問令牌。

注意:令牌應該每30分鍾或您想要的任何時間更改一次,這將使身份驗證功能更加安全。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM