希望這不是太寬泛,但經過大量的谷歌搜索,我不知道從哪裏開始。我正在尋找介紹性/新手概述,以幫助我開始構建用於rails 3應用程序的身份驗證實現。noob的Rails身份驗證策略
基本技術要求:
- 的Rails 3應用程序託管在第三方服務(Heroku的)
- 需要使用特定的外部私人SSO服務驗證用戶身份。
- 在rails應用程序中沒有本地用戶數據庫或模型。
- 認證是基於標記的,意思是說有一個特殊的cookie需要讀取回傳令牌給SSO服務器(不是基於導軌)。
- 我無法控制SSO服務器或基礎結構。
- SSO服務器的信任是隱含的,不想維護用戶,密碼或敏感信息的本地數據庫。用戶信息僅在會話期間存在,並且SSO服務器具有權威性。
- 會話令牌信息基於Cookie,並在瀏覽器會話期間存在。
我在尋找的過程如何將在軌工作,與上面的設置基本的例子/教程/策略/解釋。我想的過程中與工作流程的用戶,基本上看起來像這樣是無縫的:
- 導航到Rails應用程序 - >
- 未經身份驗證的用戶重定向到SSO服務器 - >
- 登錄並通過遠程SSO服務器進行身份驗證 - >
- 回調/重定向到Rails應用程序 - >
- 捕捉用戶信息傳遞從SSO服務器回來,在Rails應用程序 負載受保護資源
策略是完全自定義的使用私有SSO資源,不使用以及公佈的權威性機構的(換句話說沒有Facebook,谷歌,Twitter的,OAuth的,等等)。
任何有關術語,連貫教程,示例的幫助將不勝感激。
編輯/更新:
更具體地講,我也在尋找好的文檔如何創建自定義的omniauth開發戰略。一些教程介紹了與任意SSO服務器通信所需的代碼類型,從cookie中讀取一個令牌,並完成身份驗證握手和回調/重定向。
感謝您的聯繫。我一直在做這個,學習更多關於omniauth的知識。問題是我必須建立一些相當自定義的東西。沒有一種可用的策略與我必須使用的環境完美匹配。特別是我正在尋找一些示例,解釋如何從cookie中讀取令牌並將其發送回SSO服務器。不幸的是,我正在處理一個未公開的API。所以這是一個黑匣子。啊! –