gpt4 book ai didi

c# - ADFS : Acquiring token with PromptBehavior. 自动

转载 作者:行者123 更新时间:2023-12-03 01:43:35 25 4
gpt4 key购买 nike

根据 Documentation PromptBehavior.Auto,我明白:

If no token exists in the cache, but the user is known, or a session cookie is available in the web browser control used for the interaction, the dialog flashes but disappears immediately.

但是,有没有办法完全抑制此对话框,因为当我第一次调用 AcquireTokenAsync 时,如果需要时间返回 token ,则空白对话框不会显示为闪烁(如在上面的文档中),相反,它会在整个期间保留,直到返回 token 。在后续调用中,这种情况不会发生,因为我已经获取了 token 并且它存在于缓存中。

有没有办法在 PromptBehavior = Auto 的情况下完全抑制/隐藏它?

<小时/>

请注意: PromptBehavior = Never 不是文档中的选项

If you use PromptBehavior = Never and the token does not exist in the cache, or needs to be refreshed with UI, the call to AcquireTokenAsync will fail with an exception of type AdalException

最佳答案

您可以调用AcquireTokenSilentAsync首先。

recommended pattern对于 ADAL.NET 中的公共(public)客户端应用程序(桌面/移动应用程序)是:

try
{
result = await ac.AcquireTokenSilentAsync(resource, clientId);
}
catch (AdalException adalException)
{
if (adalException.ErrorCode == AdalError.FailedToAcquireTokenSilently
|| adalException.ErrorCode == AdalError.InteractionRequired)
{
result = await ac.AcquireTokenAsync(resource, clientId,redirectUri,
new PlatformParameters(PromptBehavior.Auto));
}
}

关于c# - ADFS : Acquiring token with PromptBehavior. 自动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49816390/

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