根据this site,“ AcquireTokenSilent能够...在接近到期时刷新令牌(因为令牌缓存也包含刷新令牌)”,这很好,但是对它的限制是什么什么时候允许MSAL刷新令牌?
This stackoverflow question表示有时服务器会发送一个特殊的刷新令牌,但是当我调用App.PCA.AcquireToken ...()时,它将返回一个AuthenticationResult类型的对象,该对象没有任何类似以下名称的成员刷新(在我们的Xamarin / C#应用程序中),因此似乎实际上没有单独的令牌只能用来计算刷新吗?
AcquireTokenSilent()是否需要Internet访问?是否总是通过服务器签入?
答案 0 :(得分:3)
AcquireTokenSilent将在令牌缓存中搜索当前帐户的访问令牌。如果找不到,则会抛出MsalUiRequiredException:
在一些微妙的情况下,当刷新令牌时,Microsoft身份平台将决定是否需要MFA或某种形式的交互,在这种情况下,AcquireTokenSilent也可能会抛出MsalUiRequiredException。有关详情,请参见https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-handling-exceptions#msaluirequiredexception