2017-07-10 97 views
0

我有兩個項目。 Project 1是基於Php的Web API,其中包含OAuth和自定義授權邏輯。其中Project 2是C#REST API,其中每個API都應該被授權。爲了實現這一目的,我正在將項目1中的Api暴露給授權, 。 通過對Project 2 API的每個請求的上述流程,我必須通過點擊項目1的授權API進行授權。我們是否有C#中的任何概念或使用某種緩存技術,以便我可以檢查每個請求是否已驗證或如果沒有,那麼我應該調用授權API。? 授權API的輸入是「不記名令牌」,其將由客戶端應用程序發送。如何在web api C#中授權訪問令牌緩存?

約束條件: - 我必須維護兩個不同的項目,我必須在另一個web api項目中重用我的auth提供程序API。 在此先感謝。

回答

0

你可以使用redis或任何流行的proc cache mgmt來存儲你的令牌&可以被兩個項目使用。

https://redis.io/clients

0

您可以使用不同的auth服務器,例如:

https://identityserver.github.io/Documentation/

如果你需要實現SSO(單點登錄)功能。

或者您可以實施您自己的授權服務器,但強烈建議您使用現有的解決方案。

。看看這篇文章: http://bitoftech.net/2014/09/24/decouple-owin-authorization-server-resource-server-oauth-2-0-web-api/

+0

感謝亞歷克斯! :)但我希望避免通過某些技術來授權每個請求,這些技術可以幫助我知道我的請求已經過驗證。我的意思是像web api中的某種過期策略。 – user1480180