簡體   English   中英

將Google身份驗證集成到現有應用程序中

[英]Integrating Google Authentication in Existing Application

我們有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帳戶登錄信息與已設計為具有自己的登錄實現的現有應用程序集成在一起?

如果是,執行此操作要遵循/考慮什么?

我將使用Windows Identity Foundation 它使用基於聲明的身份驗證,因此用戶訪問您的站點所需的全部就是帶有聲明的安全令牌。 您可以設置一個單獨的安全令牌服務,該安全令牌服務根據您自己的數據庫對用戶進行身份驗證,並且用戶還可以通過通過Google或與您將應用程序配置為信任的任何其他方登錄來檢索令牌。

另一個建議是使用nuget包SimpleAuthentication 。**

開箱即用,它具有MVC控制器,這意味着您所需要做的就是實施代碼,以檢查用戶是否存在於系統中,等等(例如,當您從Google返回網站時)。

如果您使用的是網絡表單(應用程序),則需要做更多的工作,方法是創建自己的表單回調,然后處理Google的回報。

**披露:我是它的2個主要貢獻者之一。

以前,我已經創建了小型ASP。 NET MVC,如果我沒記錯的話,可以在此處此處找到解決方案。

您可以在此Google+文檔中找到有關在現有的Facebook實現中添加Google+身份驗證的答案:

將Google+添加到您的Facebook集成中:存儲授權

它討論了從單個User表遷移到User and Identity表的問題。

您可以通過兩種方式實現類似的方法:

  1. 將用戶名/密碼/電子郵件字段保留在User表中,並僅在必要時在Identity表中附加Google身份驗證提供程序。
  2. Identity表中包括用戶名和密碼字段,如果provider"local"則將對其進行檢查。

您可以為此使用DotNetOpenAuth

這是一個“庫,它通過將ASP.NET控件拖放到您的頁面上來增加對網站訪問者的支持,以使用OpenID登錄。這很容易。還提供了AJAX樣式的OpenID Selector控件,以提供流暢,流暢的用戶體驗“。

這篇文章說明了如何針對Google帳戶使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM