[英]Azure AD Multi Tenant ,.Net Core Web API with MSAL(Microsoft Authentication Libary)
[英].Net Core MSAL Authentication for Azure Function App Web API
我有一个用 C# .net Core 编写的 Azure Function App
我使用Microsoft.Identity.Client;
库来执行此身份验证过程。
在我的函数应用程序 API 中,我再次调用时序洞察 (TSI),因此我必须使用传递到函数应用程序的 accessToken 来获取 TSI 范围的新令牌。
有两个主要流程需要工作,但我只能让一个版本工作。
工作版本正在 PostMan 中获取令牌并对 API 进行身份验证
IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithClientSecret(clientSecret)
.WithTenantId(tenantId)
.Build();
confidentialClientApplication.AcquireTokenForClient(scopes).ExecuteAsync();
NOT工作流程 - 用户登录到我的网站并从网站调用 API。 然后我必须使用
UserAssertion userAssertion = new UserAssertion(accessToken);
confidentialClientApplication.AcquireTokenOnBehalfOf(scopes, userAssertion).ExecuteAsync();
AcquireTokenOnBehalfOf
对我AcquireTokenOnBehalfOf
,直到令牌在缓存中过期。 我在函数应用身份验证中使用 Azure 令牌存储。
网站类似于PostMan,获取token,然后调用Function App API。 这么多工作正常,但令牌已过期。 文档说要使用令牌存储,可以使用静默请求来刷新令牌( AcquireTokenSilent
) - 但这对我来说没有意义,因为我没有IAccount
用于IAccount
confidentialClientApplication.AcquireTokenSilent(scopes, acount)
在 Azure 门户中使用内置 Function App Token Store 时,让这两个选项都可用于身份验证的正确方法或更好的方法是什么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.