尝试获取 UserCredential 时在应用程序内置的 c# WebBrowser 组件上显示身份验证页面
Display authentication page on app built-in c# WebBrowser component when try to get UserCredential
我之前使用以下代码片段检索 UserCredential
。
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(...);
首次认证时会启动默认浏览器并显示认证页面。
现在我想在我的 WPF
应用程序中添加一个 WebBrowser
组件,我想在我的内置 WebBrowser
组件上显示身份验证页面,但我可以找不到实现它的方法。
如有任何帮助,我们将不胜感激。
目前 Google .net 客户端库不支持此功能。目前 GoogleWebAuthorizationBroker.AuthorizeAsync 只能打开一个新的浏览器,无法获取授权 URI 以将其嵌入到您自己的网络浏览器组件中。
有一个 windows phone UserControl here 的示例,不过我还没有亲自测试过。可能有帮助
<UserControl x:Class="Google.Apis.Auth.OAuth2.WebAuthenticationBrokerUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
mc:Ignorable="d"
x:ClassModifier="internal"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="480" d:DesignWidth="480">
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<phone:WebBrowser Name="browser"
IsScriptEnabled="True"
Navigating="OnBrowserNavigating"
NavigationFailed="OnBrowserNavigationFailed"
Navigated="OnBrowserNavigated" />
<ProgressBar Name="Loader" Height="10" Margin="10" VerticalAlignment="Top" IsIndeterminate="True" />
</Grid>
</UserControl>
客户端库的源代码可以在GitHub上找到它是一个开源项目,欢迎您将其添加到项目中。
目前还有一个问题请求。 GoogleWebAuthorizationBroker in embedded browser?
我之前使用以下代码片段检索 UserCredential
。
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(...);
首次认证时会启动默认浏览器并显示认证页面。
现在我想在我的 WPF
应用程序中添加一个 WebBrowser
组件,我想在我的内置 WebBrowser
组件上显示身份验证页面,但我可以找不到实现它的方法。
如有任何帮助,我们将不胜感激。
目前 Google .net 客户端库不支持此功能。目前 GoogleWebAuthorizationBroker.AuthorizeAsync 只能打开一个新的浏览器,无法获取授权 URI 以将其嵌入到您自己的网络浏览器组件中。
有一个 windows phone UserControl here 的示例,不过我还没有亲自测试过。可能有帮助
<UserControl x:Class="Google.Apis.Auth.OAuth2.WebAuthenticationBrokerUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
mc:Ignorable="d"
x:ClassModifier="internal"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
d:DesignHeight="480" d:DesignWidth="480">
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<phone:WebBrowser Name="browser"
IsScriptEnabled="True"
Navigating="OnBrowserNavigating"
NavigationFailed="OnBrowserNavigationFailed"
Navigated="OnBrowserNavigated" />
<ProgressBar Name="Loader" Height="10" Margin="10" VerticalAlignment="Top" IsIndeterminate="True" />
</Grid>
</UserControl>
客户端库的源代码可以在GitHub上找到它是一个开源项目,欢迎您将其添加到项目中。
目前还有一个问题请求。 GoogleWebAuthorizationBroker in embedded browser?