我们有一个应用程序设计3年前在ASP.Net& SQL Server 2008。
我们在ApplicationUser,Role的帮助下为应用程序设计了自己的登录数据库设计和表单身份验证,然后使用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帐户登录与现有的应用程序集成,并使用自己的登录实现进行设计?
如果是,那么实施此项目需要遵循/考虑的事项是什么?
答案 0 :(得分:0)
我会使用Windows Identity Foundation。它使用基于声明的身份验证,因此用户需要访问您的站点是一个带有声明的安全令牌。您可以设置单独的安全令牌服务,该服务根据您自己的数据库对用户进行身份验证,用户还可以通过Google或您配置应用程序的任何其他方登录来检索令牌。
答案 1 :(得分:0)
另一个建议可能是使用nuget包SimpleAuthentication。**
开箱即用,它有一个MVC控制器,这意味着你需要做的就是实现代码,以检查用户是否存在于你的系统中等等(例如,当你从谷歌回到你的网站时)。
如果您使用的是网络表单(appologies),那么您需要通过创建自己的表单回调然后处理Google的回复来完成更多工作。
**披露:我是其中两个主要贡献者之一。
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以在此Google+文档中找到有关将Google+身份验证添加到现有Facebook实施的答案:
Adding Google+ to your Facebook Integration: Storing authorization
它讨论了从单个User
表迁移到User
和Identity
表。
您可以通过两种方式实现这样的目标:
User
表格中保留用户名/密码/电子邮件字段,并仅在必要时在Identity
表格中附加Google身份验证提供程序。Identity
表格中包含用户名和密码字段,如果provider
为"local"
,则会对其进行检查。答案 4 :(得分:0)
您可以使用DotNetOpenAuth。
这是一个“库,通过将ASP.NET控件放到页面上,为您的站点访问者添加对其OpenID登录的支持。这很简单。一个AJAX风格的OpenID Selector控件也包含在一个光滑的,简化用户体验。“
This post说明如何使用Google帐户。