我正在尝试将 MSAL 实现到 xamarin windows 应用程序。当我尝试使用 AcquireTokenInteractive 时,它给了我这个错误。
" {"仅支持环回重定向 uri,但找到了 urn:ietf:wg:oauth:2.0:oob。配置 http://localhost 或 http://localhost:port 在应用程序注册期间和创建 PublicClientApplication 对象时。有关详细信息,请参阅 https://aka.ms/msal-net-os-browser"} "
代码: `app = PublicClientApplicationBuilder.Create(ClientId) .WithBroker() .Build();
System.Collections.Generic.IEnumerable 帐户 = 等待 app.GetAccountsAsync();
AcquireTokenInteractiveParameterBuilder InteractiveRequest =等待app.AcquireTokenInteractive(GetScopes).WithAccount(accounts.FirstOrDefault()).ExecuteAsync();`
并且在 Azure AD 中我添加了以下 redirecr Uri; “ms-appx-web://microsoft.aad.brokerplugin/{sid}”
当我在功能分支上工作时,这对我有用,现在当我将其合并到主分支时,它不起作用。
我通过添加 http://localhost Web 重定向 URI,然后使用 WithDefaultRedirectUri() 使其工作。如果没有 WithDefaultRedirectUri,我收到了相同的错误消息。
如果需要自定义地址,也可以使用WithRedirectUri。
PublicClientApplicationBuilder PublicClientAppBuilder =
PublicClientApplicationBuilder.Create(ClientId)
.WithAuthority(Authority)
.WithDefaultRedirectUri();