我想建立一個單一的登錄界面(與角),這應該是一種獨立的,因此它可以用來和/嵌入任何網頁上。如何構建單一登錄應用程序(電子郵件和通行證)?
E.g.客戶可以將其嵌入到其索引頁面上,並且代碼/函數應該從JavaScript API傳遞並構建UI和連接。
我'想着像單點登錄應用程序,允許用戶通過他們的Facebook賬號在其他網站上互動的概念。 有點像Facebook連接。
什麼是達到這個最好的方法?首選技術是Angular2,Angular4
我想建立一個單一的登錄界面(與角),這應該是一種獨立的,因此它可以用來和/嵌入任何網頁上。如何構建單一登錄應用程序(電子郵件和通行證)?
E.g.客戶可以將其嵌入到其索引頁面上,並且代碼/函數應該從JavaScript API傳遞並構建UI和連接。
我'想着像單點登錄應用程序,允許用戶通過他們的Facebook賬號在其他網站上互動的概念。 有點像Facebook連接。
什麼是達到這個最好的方法?首選技術是Angular2,Angular4
[不完全是一個答案,但太長評論]
我認爲根本不匹配的是,你問「我該怎麼辦權威性」和我「有很多方法,有不同的成本/收益,你需要評估它們併爲你的用例選擇正確的方法。」OAuth2是一個明智的起點,但其他許多存在。「
之後,發現做的工作是(相對)簡單的庫。
所以......有許多的事情,我想你會需要得到確定下來,然後才能繼續。
我最初的問題是:
廣招,我建議做像這樣一個架構:
然後,3PA可以使用該標記代表用戶行動,直到標記被取消。
優點:
我所描述的基本上是一個簡約的OAuth工作流程。你可以自己去實現它,但是有很多陷阱,我不相信你完全理解你所嘗試的安全含義,所以我肯定會建議使用一個已知好的過程而不是嘗試推出自己的。
假設OAuth符合您的使用案例....我從來沒有必要從Angular做到這一點,所以不能推薦圖書館,但快速Google顯示數十個...在結果頂部附近是一個簡單的教程:https://devcenter.kinvey.com/angular/tutorials/how-to-implement-safe-signin-via-oauth
而且一個潛在的庫:https://github.com/oauthjs/angular-oauth2(雖然一眼,似乎沒有處理截獲的憑據的情況非常好)
許多單一的登錄機制您參考使用的OAuth2。實現你自己有點痛苦,所以我建議找一個已經存在的庫 – Basic
我已經有一個帶有角度的登錄應用(郵件和傳遞),它使用JWT Auth - 向服務器發送憑證並獲取令牌作爲迴應。問題是我怎樣才能將它作爲單一登錄提供,以便客戶可以嵌入它。 換句話說,如何將它提供給客戶...作爲不是我想要的並且對我來說沒有意義的鏈接......我想到了一種在頭部添加的腳本'腳本src =「myscripts.js」>'和scriptlet(javascript函數),可以嵌入調用並使用API。這是否是一個正確的場景? –
我明白,但並不那麼簡單。當然,您可以讓第三方應用程序(3PA)通過證書(通過SSL?),然後中繼身份驗證令牌。現在3PA可以模擬你的用戶,你不會知道它們的區別。受損的3PA =所有用戶都易受攻擊。你有意創造一箇中間人的情況。這就是爲什麼OAuth和其他協議可以避免這些問題。在這種情況下,3PA建立了通信,但用戶的瀏覽器直接與您的服務器通信以進行身份驗證,然後令牌被委派給3P。這樣,沒有人可以竊取用戶的信用。 – Basic