我正在尝试在Xamarin应用程序中使用Amazon Cognito oauth2,但是我遇到了问题。
我有这段代码可以在WebView中打开我的URL:
var browser = new WebView
{
Source = "https://[domain].auth.[region].amazoncognito.com/oauth2/authorize?client_id=[client_id]&response_type=code&redirect_uri=myapplication://home&scope=[scope]"
}
Content = browser;
我能够在WebView中加载页面,但是,当WebView尝试加载redirect_uri( myapplication:// home )时,我收到了一个Android错误页面“ WebPage not available”,错误:net :: ERR_UNKNOWN_URL_SCHEME。
此外,当我使用Device.OpenUri([my_uri])
时,一切正常。
我正在使用Android 8.0来测试我的应用程序。
答案 0 :(得分:1)
我通过在Content = browser
之前添加以下代码解决了我的问题:
browser.Navigating += async (s, e) =>
{
if (e.Url.StartsWith("myapplication://home"))
{
Uri uri = new Uri(e.Url);
((App)(Application.Current)).NavigateToLoginPage(uri);
}
};
NavigateToLoginPage(Uri uri)
只是一个基本功能,它可以更改App.xaml.cs