2012-12-12 40 views
1

我在考慮允許用戶在我的MVC 4應用程序中通過OAuth/OpenID提供程序等使用外部登錄是否合理。允許在MVC 4中允許外部登錄OAuth/OpenID的安全含義

是否允許外部登錄使您的應用程序比使用標準FormsAuthentication或其他更安全?安全性至關重要,因爲有些賬戶會存在現金價值(用戶可以將資金存入他們的賬戶)。

我特別關心的安全影響,但也想知道我需要考慮的任何其他考慮事項。

+1

約在這裏以前的一些討論:http://stackoverflow.com/questions/182258/are-there-any-security-risks-associated-with-me如果您知道如何處理密碼存儲/帳戶認證和授權,那麼我認爲(因爲涉及金錢),使用openid-as-the-authenticnticati,那麼您應該使用自己的實現。 – JOBG

回答

2

從我的專業經驗來看,因子安全性不僅僅與所使用的編程語言/技術相關。在你的情況下(MVC 4和微軟「世界」)已經爲你提供了一些選擇。但最終「防彈效應」是由「應用程序架構」和開發人員/程序員完成的。

身份驗證提供程序(如您引用的身份驗證提供程序)具有許多優點,但同時提供了「知識灰色區域」和「控制」。 「鏈只是和最薄弱的環節一樣強大」,這意味着你的代碼有多好並不重要,最終如果你將代碼的一個非常重要的部分委託給某個「其他實體」(甚至你甚至不知道他們的代碼/數據庫有多好/破解的容易程度等等,而且你對此無能爲力)。

我不是在這裏告訴OAuth/OpenID /其他人不好或不好,我只是簡單地告訴你,最後你應該提出的問題是:「你的網站存儲的安全信息是多少?

如果是銀行網站,請查看需要記入和驗證的硬性和安全性協議和ENTITIES以在此字段中「工作」。 Visa /萬事達卡/其他網絡提供商不僅僅是一個簡單的「2人地下室公司」。另外還有保險公司和大合同試圖爲雙方提供安全保障。

因此,就你而言,只有你可以決定你在網站上存儲了什麼,但是你應該提出的其他問題是:你在哪裏存儲所有這些信息?共享託管/某個託管公司不在您身邊?備份如何?等等......

如果你在談論真錢,有很多方面需要考慮,只有你可以衡量你可以做/能買得起的東西,並希望做出最好的決定,永遠不會有一些壞事發生:)

祝您好運與:)