通过电子邮件或谷歌或 Facebook 登录桌面应用程序

问题描述 投票:0回答:1

在我的问题中,我试图了解什么应该是我案例的最佳实践。这个主题对我来说是新的,我正在努力寻找相关资料。

我今天的情况——我有一个网站,用户可以通过电子邮件和密码或谷歌或 Facebook 注册/登录。我还有一个用 C# 编写的桌面软件,用户需要提供他们的电子邮件和密码才能成功安装,即通过软件登录。用户输入他们的凭据后,他们将被发送到服务器以根据网站数据库进行验证。

我想在软件中添加/更改的内容 - 添加一个选项,让用户也可以在软件中通过 Google 或 Facebook 登录。它应该如何工作?

我应该让用户通过网站登录,他们可以通过 Google/Facebook 登录并从网站获取一些验证令牌以进行进一步的安装过程吗?或者也许在软件中根据谷歌/Facebook 验证用户,然后将他们的电子邮件发送到我的服务器只是为了检查他们是否存在于网站数据库中?

c# facebook google-oauth desktop-application google-account
1个回答
1
投票

要使用电子邮件或社交媒体平台(例如 Google 或 Facebook)实现桌面应用程序登录功能,您需要与相应的身份验证提供程序集成并获取可用于对用户进行身份验证的访问令牌或一组凭据。

以下是您可以遵循的一些一般步骤:

  1. 确定您要支持的身份验证提供程序。在 在这种情况下,您希望支持电子邮件、谷歌和 Facebook。

  2. 对于电子邮件身份验证,您可以实现一个登录表单,询问 用户输入他们的电子邮件地址和密码。然后你可以 使用电子邮件和密码对用户进行身份验证 后端认证服务。

  3. 对于 Google 和 Facebook 身份验证,您需要创建一个 在各自的开发者控制台中项目并获得必要的 凭据来验证您的桌面应用程序。这通常涉及 创建您将使用的 OAuth2 客户端 ID 或一组 API 密钥 获取访问令牌或一组凭据。

  4. 在您的桌面应用程序中,您可以使用网络浏览器控件来显示 用户的 Google 或 Facebook 登录页面。一旦用户登录 并授予您的应用程序权限,您将收到一个访问令牌 或一组可用于对用户进行身份验证的凭据。

  5. 一旦用户通过身份验证,就可以存储用户的会话 您应用的本地存储或内存中的信息,以便您可以 向您的后端 API 发出经过身份验证的请求或执行其他 代表用户的行为。

这里有一些资源可以帮助您开始与各自的身份验证提供程序集成:

  1. 对于电子邮件认证,您可以实现自己的后端 使用 ASP.NET Core 等流行框架的身份验证服务 身份或 Firebase 身份验证。
  2. 谷歌认证,可以按照谷歌OAuth2文档创建项目,获取必要的凭证。您还可以使用 Google.Apis.Auth 等第三方库来简化身份验证过程 在您的桌面应用程序中。
  3. Facebook认证,您可以按照 Facebook OAuth2文档创建项目并获取 必要的凭证。您还可以使用第三方库,例如 Facebook.Unity 简化您的身份验证过程 桌面应用程序。
© www.soinside.com 2019 - 2024. All rights reserved.