我们有一个 NET Core 3.1 Web 应用程序,其中用户使用Microsoft.Identity.Web包在 Azure AD 中进行身份验证。我们将代表登录用户调用 Microsoft Graph SDK,如此处所述。
登录到应用程序后,一切正常 - 对 Microsoft Graph SDK 的所有调用均成功。但是,大约 30-60 分钟后(我们没有准确计时),用户在我们的应用程序中保持身份验证,但对 Microsoft Graph SDK 的调用失败,并出现以下错误:
IDW10502: An MsalUiRequiredException was thrown due to a challenge for the user.
Run Code Online (Sandbox Code Playgroud)
内部异常有:
Microsoft.Identity.Client.MsalUiRequiredException: No account or login hint was passed to the AcquireTokenSilent call.
Run Code Online (Sandbox Code Playgroud)
然后,用户需要注销应用程序并重新登录,之后对 MS Graph 的调用在 30-60 分钟内再次成功。
任何人都可以阐明这一点吗?
我们的设置
在 appsettings.json 中:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "<our-domain-name>",
"TenantId": "<our-tenant-id>",
"ClientId": "<our-client-id>",
"CallbackPath": "/signin-oidc",
"SignedOutCallbackPath ": …Run Code Online (Sandbox Code Playgroud) c# azure asp.net-core microsoft-graph-sdks microsoft-identity-platform