xamarin.forms - AADSTS54005:OAuth2 授权代码已兑换,请使用新的有效代码重试或使用现有的刷新令牌
问题描述
带有 Office 365 身份验证的 xamarin 表单身份验证工作正常,但最近我收到此错误消息:
AADSTS54005:OAuth2 授权代码已兑换,请使用新的有效代码重试或使用现有的刷新令牌。
通过一些研究,我发现我需要刷新令牌。-->
https://support.workspace365.net/hc/en-us/articles/360010259114--RESOLVED-Technical-issue-Workspace-365 问题是如何刷新令牌任何人都可以指导我。
谢谢
这是我的代码:
public async Task<AuthenticationResult> Authenticate(string authority, string resource, string clientId, string returnUri)
{
AuthenticationResult authResult = null;
try
{
var authContext = new AuthenticationContext(authority);
if (authContext.TokenCache.ReadItems().Any())
authContext = new AuthenticationContext(authContext.TokenCache.ReadItems().First().Authority);
var uri = new Uri(returnUri);
PlatformParameters platformParams = null;
安卓
platformParams = new PlatformParameters((Android.App.Activity)Forms.Context);
IOS
Device.BeginInvokeOnMainThread(() =>
{
UIViewController controller = new UIViewController();
controller = UIApplication.SharedApplication.KeyWindow.RootViewController;
platformParams = new PlatformParameters(controller);
});
UserDialogs.Instance.HideLoading();
Authresult 需要返回令牌,以便我可以从 Office 365 身份验证中使用它,但我收到消息 AADSTS54005: OAuth2 Authorization...
authResult = await authContext.AcquireTokenAsync(resource, clientId, uri, platformParams);
authContext.TokenCache.Clear();
}
catch (Exception e)
{
Console.WriteLine("Execption : " + e.Message);
}
return authResult;
}
任何帮助将不胜感激谢谢
解决方案
推荐阅读
- ios - 由于 xcodebuild 失败退出代码 127,无法启动 WebDriverAgent
- oracle - 按查询分组 Rising ORA-00934 异常
- r - 使用 gtsummary 包将总 N 的 f 变量添加到 tbl_regression
- flutter - 如何在颤动的TextField中使用多种颜色
- c# - 检测何时进入焦点?
- gradle - 如何排除模块 cxf-rt-transports-http
- dictionary - 如何在 Clojure 中正确“过滤”映射?
- android - Android 重叠其他应用权限
- visual-studio - 我无法为我的项目库单击“打包”来发布它
- r - Biomod 2 Maxent