希望这不是太宽泛,但经过大量的谷歌搜索,我不知道从哪里开始。我正在寻找介绍性/新手概述,以帮助我开始构建用于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。所以这是一个黑匣子。啊! –