2016-07-15 72 views
0

我的角2應用程序是背後添加了HTTP頭部像一個反向代理:如何在使用Angular 2時讀取HTTP協議標題?

Auth-User: somebody 
Auth-Groups: something, something, ... 

如何,我讀了我的角2應用這些價值觀?請注意,我不是:

  • 做一個新的HTTP調用,
  • 做一個用戶名/密碼登錄,添加了一些sessionStorage的,我可以在CanActivate使用

基本上我需要支持從瀏覽器第一次訪問我的服務器開始,基於可信HTTP標頭的SSO方案。

任何想法?

Lars

+0

這是不可能從JS當前頁面獲取標題。看到這個http://stackoverflow.com/questions/220231/accessing-the-web-pages-http-headers-in-javascript – estus

回答

0

我意識到它不能直接完成。 Angular是面向客戶端的,並且被瀏覽器大量使用沙箱,因此它只是能夠訪問必要頭文件的服務器。我拿出的是:

  • 在服務器上獲得一些用戶設置服務。包含用戶和組信息的響應。對服務器的服務呼叫當然不能相信客戶對誰是當前用戶和組成員資格的看法。這是我選擇的一個
  • 使用Universal Angular,它是面向服務器端的。在我的情況下,它不適合公司的文化。

因此,與大多數示例/教程使用的基本身份驗證方案不同,解決方案只是獲取包含在服務調用中的標頭值。