小编Arm*_*c84的帖子

如何在 WPF 中使用 CEFSharp 浏览器登录 Google?

我知道这是一个非常基本的问题,但我正在使用 CEFSharp 在 wpf 中创建一个浏览器(我几乎完成了),但我在某些帐户上登录 google 时遇到了障碍。我收到“此浏览器或应用程序可能不安全”的消息。信息。现在,我研究了使用 OAuth 来获取用于访问和使用 Google 某些功能的令牌,而不仅仅是如何整体登录。我只是希望用户能够登录 Google,就像他们在 Chrome 浏览器上一样(当然没有同步选项)。

在此输入图像描述 在此输入图像描述 在此输入图像描述

我使用 Google Console 注册了我的应用程序,并收到了 ClientId 和 ClientSecret,并且创建了一个窗口,当在尝试获取令牌的 google 页面上单击登录按钮时调用,但当用户键入其 e -mail,他们收到相同的消息(见下文)。

在此输入图像描述 在此输入图像描述

我不确定是否有一个 API 可以使用,或者可以让我的用户通过我的浏览器登录 google,而不必调用 Google Chrome 浏览器本身,因为这违背了我的浏览器自给自足的目的。我已经为此绞尽脑汁好几天了。有人可以帮忙吗?

以下是我的 Google 登录窗口的 xaml:

<Window x:Class="MyProject.Windows.GoogleLoginWindow"
    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:wpf="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
    xmlns:local="clr-namespace:NP_Browser.Windows"
    mc:Ignorable="d"
    Title="Google Login Window" Height="450" Width="800" Icon="../Images/NPBrowserLogo.ico">
<Window.Resources>
    <BooleanToVisibilityConverter x:Key="btv" />
</Window.Resources>
<Grid>
    <DockPanel Visibility="{Binding State.IsSigned, Converter={StaticResource btv}}">
        <Label Content="{Binding State.Token.Name}" />
    </DockPanel>
    <Grid Visibility="{Binding State.IsNotSigned, Converter={StaticResource btv}}">
        <wpf:ChromiumWebBrowser x:Name="Wb" FontSize="16"/>
    </Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud)

以下是我的 …

oauth-2.0 cefsharp google-signin

5
推荐指数
1
解决办法
5147
查看次数

标签 统计

cefsharp ×1

google-signin ×1

oauth-2.0 ×1