現在有沒有什麼好的方案可以實現web網站免密碼登入?
背景:公司運營人員多,和第三方合作的也比較多,很多運營人員都有第三方合作網站的帳號密碼,但是如果運營人員離職,這個密碼可能遺失或者泄露。所以需要一個賬戶管理系統統一管理這些第三方的帳號。同時,直接提供帳號和密碼給運營人員使用的方式也不好,可能會泄露或者密碼被修改等等麻煩問題。
所以,現在希望這個系統統一系統管理使用者帳號和密碼,當有同事需要使用帳號的時候,直接由系統提供一個url連結給他,這個url地址裡面是加密的帳號和密碼以及要登入的網站資訊,他通過點擊這個url連結直接就可以登入到第三方網站。
舉例:運營人員A要登入友盟查看資料,我不用直接告訴他我們在友盟的帳號和密碼,只需要在帳號管理系統裡面產生一個url提供給他,他點擊這個連結就可以登入友盟網站。類似這樣的功能,有什麼好的實現方案嗎?或者有現成的解決方案嗎?商業的也可以考慮。
說明:現在網上找了一下,貌似都是以瀏覽器延伸的方式實現?這個是瀏覽器延伸把產生的url連結裡面的密碼解析出來自動填滿到登入表單裡面的嗎?比如:https://lastpass.com/
各位有沒有什麼好的建議或者方案? 非常感謝!
回複內容:
現在有沒有什麼好的方案可以實現web網站免密碼登入?
背景:公司運營人員多,和第三方合作的也比較多,很多運營人員都有第三方合作網站的帳號密碼,但是如果運營人員離職,這個密碼可能遺失或者泄露。所以需要一個賬戶管理系統統一管理這些第三方的帳號。同時,直接提供帳號和密碼給運營人員使用的方式也不好,可能會泄露或者密碼被修改等等麻煩問題。
所以,現在希望這個系統統一系統管理使用者帳號和密碼,當有同事需要使用帳號的時候,直接由系統提供一個url連結給他,這個url地址裡面是加密的帳號和密碼以及要登入的網站資訊,他通過點擊這個url連結直接就可以登入到第三方網站。
舉例:運營人員A要登入友盟查看資料,我不用直接告訴他我們在友盟的帳號和密碼,只需要在帳號管理系統裡面產生一個url提供給他,他點擊這個連結就可以登入友盟網站。類似這樣的功能,有什麼好的實現方案嗎?或者有現成的解決方案嗎?商業的也可以考慮。
說明:現在網上找了一下,貌似都是以瀏覽器延伸的方式實現?這個是瀏覽器延伸把產生的url連結裡面的密碼解析出來自動填滿到登入表單裡面的嗎?比如:https://lastpass.com/
各位有沒有什麼好的建議或者方案? 非常感謝!
如果是和第三方深度合作的話可以要求他們提供令牌支援。你的伺服器儲存使用者名稱和密碼,通過第三方api擷取一個token,然後你們的職員可以用這個token去第三方而不必再次輸入使用者名稱密碼了,你覺得呢?
lastpass 和你說的不是一個東西,lastpass 做的就是記住了你的使用者名稱和密碼,然後幫你提交表單。
你需要的是不需要使用者名稱和密碼也授權查看一些資料,如果第三方網站支援 token 那麼就很好做了,如果不支援那你想做也做不了。
我感覺挺簡單的啊。
你可以存起來一個隨機字串,然後用自己的加密方法將其和密碼配合進行加密,將加密後的字串傳給使用者就行。
$id = $user['id'];$password = $user['password'];$rand = "";//根據自己的方法產生一個隨機字串,並把它存起來$token = md5(sha1($id.$rand).$password);//將其進行一定方式的加密,只做例子,可以自己設定
然後將這個$id和$token發送給使用者,如果驗證時匹配,登入成功。
你還可以設定一個到期時間,一起存起來。
最佳實務:按照 @incNick 說的做,和友盟等需要使用者名稱密碼的網站談合作,讓他們給你一個登入的API,你們就可以招程式員去開發統一認證系統了
一個不是辦法的辦法,利用QQ用戶端儲存“密碼”。國內的帳號系統多數都可以直接或者間接綁定到QQ帳號上。直接:間接: 百度站長<-百度帳號<-QQ號
下面要解決的就是多個運營人員如何登入QQ的問題了。共用二維碼怎麼樣?
給運營人員的電腦配置代理,利用“中間人攻擊”的方法給瀏覽器設定Cookie。 運營人員通過代理試圖登入網站時,代理程式攔截這個HTTP請求,偽裝成普通使用者登入第三方網站擷取Cookie,然後將登入成功的響應返回給運營人員的瀏覽器。
1password,不謝