gpt4 book ai didi

c# - 使用 ADAL 对 Azure API 应用程序进行身份验证

转载 作者:行者123 更新时间:2023-11-30 18:25:04 25 4
gpt4 key购买 nike

我有一个标记为“公共(public)(经过身份验证)”的 Azure API 应用程序,并在关联的网关中设置了 Azure Active Directory 身份,如 Protect an API App 中详述。 .

然后,我在同一 Azure Active Directory 租户中创建了一个 native 应用程序,并在委派权限中添加了访问网关的权限。

使用 ADAL 和以下代码,我能够成功进行身份验证并获取访问 token ,但我不知道如何使用它来访问我的 API 应用程序。

string Tenant = "[xxx].onmicrosoft.com";
string Authority = "https://login.microsoftonline.com/" + Tenant;
string GatewayLoginUrl = "https://[gateway].azurewebsites.net/login/aad";
string ClientId = "[native client id]";
Uri RedirectUri = new Uri("[native client redirect url]");

async Task<string> GetTokenAsync()
{
AuthenticationContext context = new AuthenticationContext(Authority);
PlatformParameters platformParams = new PlatformParameters(PromptBehavior.Auto, null);
AuthenticationResult result = await context.AcquireTokenAsync(GatewayLoginUrl, ClientId, RedirectUri, platformParams);

return result.AccessToken;
}

我已经测试了 API 应用程序,手动输入在 Chrome 中获得的 x-zumo-auth header,然后它就可以工作,但不能使用我使用 ADAL 获得的 token 。我还尝试了sample code中描述的浏览器表单。它有效,但没有给我刷新 token 。

我需要如何设置身份验证代码,以便可以在我的 API 应用中使用 TokenCache 和 ADAL?

最佳答案

通常,在调用 Web api 时,您会在 Authorization header 中传递访问 token :

授权:持有者 ThisIsTheAccessTokenYouRecievedFromADAL

关于c# - 使用 ADAL 对 Azure API 应用程序进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30489604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com