gpt4 book ai didi

c# - 如何查找所有可能的 AdalException.ErrorCode 字符串属性值?

转载 作者:行者123 更新时间:2023-12-02 00:28:48 25 4
gpt4 key购买 nike

当您尝试从 Azure Active Directory 获取 token 时,如果在 token 获取过程中发生错误,则会引发异常类型。

该异常称为 AdalException ms docs link here

我正在寻找名为ErrorCode的属性ms docs link here

但是他们称之为“错误代码”,它是一个带有可能值的字符串,例如:

  • 暂时不可用
  • user_interaction_required
  • 等等...

从查看程序集得知

// Parameters:
// errorCode:
// The error code returned by the service or generated by client. This is the code
// you can rely on for exception handling.

你能给我指出一个方向,我可以从中获得所有可能的值吗?或者它的值(value)只是信息性的、唯一的或随机的?

我想做的是有一个不同的逻辑,所以假设它暂时不可用,是否重试?如果是其他事情,请采取相应行动...

伪代码:

catch (AdalException ex)
{
if (ex.ErrorCode == "temporarily_unavailable")
{
retry = true;
retryCount++;
Thread.Sleep(3000);
}
else if (ex.ErrorCode == "foo")
// rest of the code omitted for brevity...
}

最佳答案

Exceptions in ADAL.NET wiki涵盖了很多这个细节。

要处理的最重要的错误/异常是 AdalSilentTokenAcquistionException,其中缓存中的 token 不再有效,需要以交互方式刷新。

我强烈建议为 interaction_required 构建一个强大的错误处理程序(在 ADAL.NET 中,这是一个 AdalClaimsChallengeException ,它可能因条件访问而发生需要对 AcquireTokenSilent() 方法进行额外授权的策略。在这种情况下,如果您可以提示用户,则只需以交互方式重复失败的请求即可。如果您的应用无法显示交互,则您可以捕获错误中的claims参数并将其发送回客户端重新授权。

关于c# - 如何查找所有可能的 AdalException.ErrorCode 字符串属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52724552/

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