在现有应用程序中集成Google身份验证

本文关键字:集成 Google 身份验证 应用程序 | 更新日期: 2023-09-27 18:12:33

我们在ASP.Net&SQL Server 2008。

我们设计了自己的登录数据库设计,并在ApplicationUser、Role、Then等事务表的帮助下为应用程序进行表单验证,使用UserId获取相应的用户记录、历史记录。

到目前为止,新用户注册以及带来和管理现有用户记录都没有问题。

Now our client wants to integrate, Google Account Login for the new customer and even the existing customer can sign in with the Google account.

我们想知道这怎么可能。如果您使用Google帐户登录,我们将如何管理UserId映射和其他表。

是否可以将谷歌帐户登录与现有应用程序集成,该应用程序已设计并实现了自己的登录功能

如果是的话,实施这一点需要遵循/考虑哪些事项?

在现有应用程序中集成Google身份验证

另一个建议可能是使用nuget包SimpleAuthentication。**

开箱即用,它有一个MVC控制器,这意味着你所需要做的就是实现检查用户是否存在于你的系统中的代码,等等(即,当你从谷歌回到你的网站时(。

如果你在使用网络表单(appologies(,那么你需要做更多的工作,创建自己的表单回调,然后处理谷歌的返回。

**披露:我是它的两个主要贡献者之一。

我会使用Windows Identity Foundation。它使用基于声明的身份验证,因此用户访问您的网站所需的只是一个带有声明的安全令牌。你可以建立一个单独的安全令牌服务,根据你自己的数据库对用户进行身份验证,用户也可以通过谷歌或你配置应用程序信任的任何其他方登录来检索令牌。

很久以前我就创建了小型ASP。NET MVC,如果我没记错的话,你可以在这里找到描述的解决方案。

您可以在这份关于将Google+身份验证添加到现有Facebook实现中的Google+文档中找到答案:

将Google+添加到您的Facebook集成:存储授权

它讨论了从单个User表迁移到UserIdentity表。

你可以用两种方式实现这样的东西:

  1. 将用户名/密码/电子邮件字段保留在User表中,并仅在必要时在Identity表中附加Google身份验证提供程序
  2. Identity表中包括用户名和密码字段,如果provider"local",则会选中这些字段

您可以使用DotNetOpenAuth。

这是一个"库,只需将一个ASP.NET控件放到您的页面上,就可以为网站访问者添加对使用OpenID登录的支持。这很简单。还包括一个AJAX风格的OpenID Selector控件,以提供流畅、精简的用户体验。">

这篇文章解释了如何为谷歌帐户使用它。