2016-01-20 39 views
1

我正在構建一個使用Angular和Node.js的多租戶應用程序,爲前端用戶(公共)和管理區域用戶(租戶)使用相同的API是否明智?單獨的用戶/管理API?

管理區域需要驗證才能查看和修改敏感數據,但我不明白爲什麼其餘的API不能爲只查詢數據的前端打開?

這是個好主意嗎?它會引起更多問題嗎?

我找去下面的應用程序結構:

  • 前端:tenant-name.domain.com(對公衆開放)

  • 管理區:domain.com/管理員(與登錄名和令牌身份驗證)

  • API:api.domain.com

將客戶端的前端與API進行身份驗證會是一個好主意嗎?

回答

0

我會建議管理區域API調用需要在所有API調用上傳遞身份驗證令牌。您可以使用Angular中的http請求攔截器將標記注入到標頭中。尚未擁有身份驗證令牌的用戶必須登錄才能獲取身份驗證令牌。注入的身份驗證令牌應該是您需要的所有安全。

+0

只是一個補充:你應該有'$ httpProvider.defaults.withCredentials = true;'在攔截器代碼 – k102

+0

我得到那部分的管理員區域,匿名認證對公衆開放的用戶區域呢?這會不必要?有一些事情應該是安全的(用戶訂單),但我試圖避免會話 – btply

+0

這是一個偏好問題,你可能會得到很多不同的意見。一些具有公共功能的製作應用程序不使用身份驗證,Cookie或任何類型的跟蹤。 –

0

我建議您在匿名用戶請求您的API時創建一個令牌。原因是你可以隨時識別誰要求什麼。