我正在Grails中開發一個後端服務,該服務應該同時提供Web應用程序和移動應用程序。針對Grails後端的PhoneGap身份驗證模式
前端正在使用AngularJS開發,移動應用程序將使用相同的AngularJS代碼庫與PhoneGap本地化。
現在,我正在尋找一種適當的方式來實現對Web應用程序和移動應用程序均適用的Grails後端的身份驗證。
三個想法:在localStorage的
1)店鋪的用戶名和密碼,並在每一個請求
2)使用基於Cookie的身份驗證身份驗證在後端的用戶(這是棘手的,以使在PhoneGap的餅乾,我應該 從AJAX響應摘錄並附加在AJAX請求中)
3)開發一個自定義協議,爲後端的每個會話生成一個令牌並將其存儲在LocalStorage中。會話令牌將在每個請求中發送到後端。
4)使用私鑰/公鑰機制(類似於Amazon AWS)爲每個請求籤名。即使在這種情況下,後端也必須驗證每個請求的簽名的正確性(沒有會話概念)。
我不太相信LocalStorage,但我沒有其他的想法,我也找不到任何示例(其他後端和前端技術的示例將有所幫助)。
您可以假設後端將以HTTPS運行。
4)使用OAuth2,我相信有PhoneGap的實現 –
謝謝伊戈爾。我更喜歡不使用OAuth2,因爲OAuth2提供者的實現超出了項目預算。無論如何,即使使用OAuth2,密鑰/令牌存儲也將依賴於LocalStorage功能,不是嗎?我的其他3種選擇呢? –