我在网络中的应用程序通过不同的社交网站验证用户。
我使用MAUI中的WebAuthenticator包进行Web认证。
当Web应用程序重定向到移动的应用程序代码时,未继续,但应用程序已打开。
问题只存在于Android中。在iOS中没有问题。
代码示例
WebAuthenticatorResult result = null;
// Web Authentication flow
var authUrl = new Uri($"{authUrlRoot}{scheme}");
var callbackUrl = new Uri($"{callback}";
result = await WebAuthenticator.Default.AuthenticateAsync(authUrl, callbackUrl);
var authToken = string.Empty;
if (result.Properties.TryGetValue("name", out string name) && !string.IsNullOrEmpty(name))
authToken += $"Name: {name}{Environment.NewLine}";
if (result.Properties.TryGetValue("email", out string email) && !string.IsNullOrEmpty(email))
authToken += $"Email: {email}{Environment.NewLine}";
// Note that Apple Sign In has an IdToken and not an AccessToken
authToken += result?.AccessToken ?? result?.IdToken;
await ToastAsync("returned successfully");
字符串
当WebAuthenticator.Default.AuthenticateAsync被调用下面的代码时,它在从web返回后不会执行。在iOS中,它正在执行,但在android中不是。
1条答案
按热度按时间enxuqcxy1#
在移动的中,我使用回调URL作为app://com.company.appname
在Web中我重定向到app://com.company.appname#key=value
相反,我使用回调url作为appname,并重定向到appname://#key=value
这解决了我的问题。