簡體   English   中英

Azure Web Service到Azure Web Service身份驗證請求

[英]Azure web service to Azure web service authenticated requests

我有一個基於Azure的.NET Core Web API應用程序,我想與基於Azure的MVC5應用程序進行通信。 MVC5應用程序要求其客戶端在我們的Azure AD實例中具有憑據。 我們使用我們的SSO Azure AD憑據連接到此應用程序。

在.NET核心應用並不對Azure的身份驗證; 它的消費者無法進行憑證傳遞。 但是...它托管在同一個Azure實例中,因此看起來我應該能夠相對輕松地將來自Web api的身份驗證請求發送到MVC應用。

但是,關於此的文檔非常混亂。 談論x.509證書(這似乎沒有必要),OAuth 2.0授權和流程(我可能無法解決,我不知道)...但是有一些簡單,相對“在沒有建立某種復雜的腳手架和/或配置的情況下,使一項服務與另一項服務安全地進行對話的方式? 我有點希望有一種方法可以實例化HttpClientWebRequest ,調用某種方法以獲取正確的Authorization標頭(或cookie?),並以一種愉快的方式發送我的請求...但是,如果存在,它仍然存在使我難以捉摸。

對此,任何澄清都將有所幫助。

這種依賴。 首先,要明確一點,您是否正在嘗試從API應用程序在MVC應用程序中調用操作? 這似乎有些奇怪(通常,MVC前端可能需要調用api)。 無論如何,它應該仍然相同。

問題:您是否希望api應用程序始終將MVC應用程序稱為“自身”? 因此,您的api應用程序將具有被授權在您的MVC應用程序上調用操作的身份? 如果是這樣,這正是OAuth客戶端憑據流的用途:

https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service

通過此流程,您可以創建代表您的API應用程序的Azure AD應用程序注冊。 然后,在運行時,您的API應用程序將使用其客戶端ID和客戶端密鑰來獲取可用於調用MVC應用程序的令牌(通常作為授權令牌中的承載令牌傳遞)。 您可以通過應用程序注冊的一部分來為其委派訪問MVC應用程序的權限,但是您還可以管理要允許MVC應用程序訪問的“客戶端”。

希望這是有道理的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM