我有一个标记为“公共(已验证)”的 Azure API 应用程序,并在关联的网关中设置了 Azure Active Directory 身份,详细信息请参阅保护 API 应用程序.
然后,我在同一 Azure Active Directory 租户中创建了一个本机应用程序,并在委派权限中添加了访问网关的权限。
使用 ADAL 和以下代码,我能够成功进行身份验证并获取访问令牌,但我不知道如何使用它来访问我的 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 应用程序手动输入x-zumo-auth header
我进入 Chrome,然后它就可以工作,但不能使用我使用 ADAL 获得的令牌。我也尝试过他们的浏览器表单中描述的示例代码它有效,但没有给我刷新令牌。
我需要如何设置我的身份验证代码才能使用TokenCache
和 ADAL 与我的 API 应用程序?
通常,在调用 Web api 时,您会在 Authorization 标头中传递访问令牌:
授权:不记名 ThisIsTheAccessTokenYouRecievedFromADAL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)