我正在尝试在 .NET MAUI 项目中使用 Essentials API 实现身份验证
async Task OnAuthenticate(string scheme)
{
try
{
WebAuthenticatorResult r = null;
if (scheme.Equals("Apple")
&& DeviceInfo.Platform == DevicePlatform.iOS
&& DeviceInfo.Version.Major >= 13)
{
// Make sure to enable Apple Sign In in both the
// entitlements and the provisioning profile.
var options = new AppleSignInAuthenticator.Options
{
IncludeEmailScope = true,
IncludeFullNameScope = true,
};
r = await AppleSignInAuthenticator.AuthenticateAsync(options);
}
else
{
var authUrl = new Uri(authenticationUrl + scheme);
var callbackUrl = new Uri("xamarinessentials://");
r = await WebAuthenticator.AuthenticateAsync(authUrl, callbackUrl);
}
AuthToken = string.Empty;
if (r.Properties.TryGetValue("name", out var name) && !string.IsNullOrEmpty(name))
AuthToken += $"Name: {name}{Environment.NewLine}";
if (r.Properties.TryGetValue("email", out var email) && !string.IsNullOrEmpty(email))
AuthToken += $"Email: {email}{Environment.NewLine}";
AuthToken += r?.AccessToken ?? r?.IdToken;
}
catch (OperationCanceledException)
{
Console.WriteLine("Login canceled.");
AuthToken = string.Empty;
}
catch (Exception ex)
{
Console.WriteLine($"Failed: {ex.Message}");
AuthToken = string.Empty;
}
当调用 WebAuthenticator.AuthenticateAsync 它返回错误
找不到文件“C:\Windows\system32\AppxManifest.xml”。
有人已经在 Windows 11 上运行的 MAUI 中实现了身份验证?