1

我有兩個不同的客戶端應用程序用JavaScript編寫,連接到兩個不同的web api。我試圖實現身份服務器3.在web api owin身份驗證背後的實現身份服務器

  1. 是否有可能有身份服務器在我的網頁api owin 身份驗證api結束點。換句話說,是否有可能通過web api中owin的 路由/令牌終端在身份服務器中調用/驗證 終端?
  2. 是否可以在身份服務器上審覈日誌到數據庫,包括 失敗的請求以及用戶的ip和瀏覽器代理。即使我正在通過web api調用,我的 也可以登錄用戶的ip: web api被用戶使用瀏覽器調用?
  3. 在我的情況下,我應該爲兩個不同的 項目保留兩個不同的用戶羣,或將我的所有用戶移到標識服務器。如果我將所有 用戶信息移動到標識服務器,我將如何處理與其他表在不同應用程序中的所有連接 ,或者我應該保留用戶的副本 與最小信息,如id,電子郵件和名稱?

在此先感謝。

回答

1

在呼叫期間首先調用web api並處理認證是沒有意義的。

您的客戶端應用程序應該首先將瀏覽器重定向到IdentityServer,用戶可以在其中登錄並根據客戶端應用程序將訪問令牌(隱式流)或授權代碼(AuthorizationCode流)重定向回您的客戶端應用程序一個後端與否。然後,您的客戶端應用程序將向Webapi發送請求,並在授權標頭中傳遞訪問令牌。

對於不同的用戶羣,一種方法可能是爲每個用戶羣實現特定的IUserService,併發送關於在acr_values中使用哪一個的提示或將其綁定到在IdentityService中註冊的特定客戶端。再次,取決於要求。

1

是否有可能在我的web api owin認證api結束點後面有身份服務器。換句話說,是否有可能通過web api中的owin路由/令牌端點來在身份服務器中調用/驗證端點?

是和否 - 您不能重新路由這些請求,但是您可以將Identityserver作爲Web API託管在相同的應用程序中。在Startup.cs中,將文件夾映射到標識服務器。 這不是一個好主意,首先,這兩個API中的哪一個將主持idsrv?如果該api發生故障並採取idsrv操作,那麼另一個api將不再工作。 - >主機idsrv分開,使這兩個API和雙方的JavaScript應用程式的客戶idsrv,登錄從JavaScript的應用程序,以idsrv(= SSO),並使用承載令牌的API

是否有可能審覈日誌數據庫在身份服務器中包括失敗的請求以及用戶的ip和瀏覽器代理。即使我正在通過web api調用用戶的ip,也可以記錄用戶的ip,因爲我的web api正在被用戶使用瀏覽器調用?

是的,這應該是可能的,檢查idsrv的日誌記錄實現,至少你應該能夠插入提供程序寫入數據庫。

在我的情況下,我應該爲兩個不同的項目保留兩個不同的用戶羣,或將我的所有用戶移到身份服務器。如果我將所有用戶信息移動到身份服務器,我將如何處理與其他應用程序在不同應用程序中的其他表的所有連接,或者我應該保留具有最小信息(例如ID,電子郵件和名稱)的用戶副本?

Idsrv並不需要將所有的用戶信息,只是一個電子郵件地址是不夠的,你可以使用它作爲鏈接到您的API數據庫中的用戶數據,如果你使用它作爲唯一的標識符。