2015-11-25 40 views
1

我使用平在角/ .NET的Web API棧來驗證用戶身份,利用WIF。 WIF通過只是在正確的配置將在web.config中的MVC或Web窗體應用程序開箱的。它攔截對所請求的頁面/控制器的任何調用,並且如果沒有可用的令牌重定向到Ping以進行認證,則它會截獲。與平安盟員角和Web API使用WIF

Q1

在我的籌碼是不會工作的這個應用程序的Web部分是HTML /角。我可以把平安配置到Web API配置文件,然後當角調用API,WIF將攔截它,(希望)重定向用戶到平。但不知道如果web api可以做一個http重定向。此外,這可能不做API調用頁面將加載就好無需驗證...

Q2

比方說,問題1解決了和用戶在平驗證他,平安將需要發送斷言到web api圖層,而不是html/Angular,因爲它是POST響應。這很好,Web API將檢查Claims對象以獲取用戶信息。在這之後,我們需要將用戶重定向到返回的頁面,他試圖訪問,現在,應用程序將不再知道。另外如何從web api實現http重定向。

Q3

有沒有辦法讓Ping發佈到html/angular頁面?

感謝您的幫助......

+0

您是否在使用某種集成套件? –

+0

是的,我正在使用WIF .net集成。我遵循以下步驟:https://msdn.microsoft.com/en-us/library/hh987037(v=vs.110).aspx – Vaibhav

+0

PingFederate可以充當WS-Trust兼容的STS。您的應用程序收集用戶名/密碼,然後將它們轉發到PF格式正確的WS-Trust Authn消息中,然後獲得WS-Trust斷言。你可以在這裏看到用於PingFed的WS-Trust配置:https://documentation.pingidentity.com/pingfederate/pf80/index.shtml#adminGuide/concept/wsTrustStsConfiguration.html –

回答

1

由於原料藥的REST風格的性質,它們將不能夠做一個HTTP重定向。即使他們可以在AJAX調用期間,而不會影響瀏覽器。

開箱WIF僅支持以下協議:

  • WS-美聯儲
  • WS-信託
  • 的WS-Security
  • WS-安全
  • 的WS-Addressing

我建議使用OAuth 2.0已隱格蘭特鍵入Angul ar/WebAPI部分。

話雖這麼說,通過WIF和OAuth提供的基於聲明的標識是真正免費的。你可以寫一個OAuth擴展WIF similair到一個在這裏引用:https://msdn.microsoft.com/en-us/library/azure/gg193416.aspx

這就是我想象中的流程將類似於:

  1. 角應用從WIF請求信息保護的API
  2. API返回狀態碼401
  3. 角應用程序執行重定向到平OAuth授權端點
  4. 用戶驗證,如果他們還沒有與SSO服務器的IdP現有會話
  5. 承載的令牌返回給角應用
  6. 承載令牌被添加到授權報頭和發送到API
  7. WIF攔截該請求,提取承載令牌並調用平OAuth令牌端點來驗證所述令牌
  8. Ping返回一個具有您正在查找的「Claim」信息的令牌,然後將這些聲明注入到WIF中。
+0

是的,我想我必須去looonger的方式。 WIF非常簡單。通過http://andreareginato.github.io/oauth-ng/發現一個純粹的角度客戶端解決方案 – Vaibhav