.Net MAUI:URL从Web返回到移动的应用程序(Android)

bvpmtnay  于 2024-01-04  发布在  Android
关注(0)|答案(1)|浏览(143)

我在网络中的应用程序通过不同的社交网站验证用户。
我使用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中不是。

enxuqcxy

enxuqcxy1#

在移动的中,我使用回调URL作为app://com.company.appname
在Web中我重定向到app://com.company.appname#key=value
相反,我使用回调url作为appname,并重定向到appname://#key=value
这解决了我的问题。

相关问题