首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails认证策略

Rails认证策略
EN

Stack Overflow用户
提问于 2013-01-17 20:30:10
回答 1查看 971关注 0票数 6

希望这不是太广泛,但经过大量搜索后,我不知道从哪里开始。我正在寻找一个入门/noob概述,以帮助我开始为rails 3应用程序构建一个身份验证实现。

基本技术要求:

  • Rails 3应用程序托管在第三方服务(heroku)上。
  • 需要使用特定的外部私有SSO服务对用户进行身份验证。
  • rails应用程序中没有本地用户数据库或模型。
  • 身份验证是基于令牌的,这意味着需要读取一个特殊的cookie,将令牌传递回SSO服务器(而不是基于rails )。
  • 我无法控制SSO服务器或基础设施。
  • SSO服务器的信任是隐式的,不希望维护用户、密码或敏感信息的本地数据库。用户信息只存在于会话期间,而SSO服务器是权威的。
  • 会话令牌信息是基于cookie的,并且在浏览器会话期间存在。

我正在寻找基本的示例/教程/策略/解释如何在rails中与上述设置一起工作。我希望这个过程对基本如下的工作流程的用户是无缝的:

  • 导航到rails应用程序->
  • 将未经身份验证的用户重定向到SSO服务器-->
  • 通过远程SSO服务器登录和验证->
  • 回调/重定向到rails应用程序->
  • 捕获从SSO服务器返回的用户信息,并在rails应用程序中加载受保护的资源

策略完全是自定义的,使用私有的SSO资源,不使用发布良好的auth机制(换句话说,不是Facebook、Google、Twitter、OAuth等)。

如能对术语、连贯的教程、示例提供任何帮助,将不胜感激。

Edit/Update:

更具体地说,我也在寻找好的文档,如何创建一个全方位的定制开发策略。一些教程介绍了与任意SSO服务器对话、从cookie中读取令牌以及完成身份验证握手和回调/重定向所需的代码类型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-19 00:17:24

这并不是一个真正的答案,但我发这个帖子是因为一个评论是做不到的。我不知道任何全面的指南,所以我建议你这样做:

  1. 学习Omniauth是如何工作的。关于使用Twitter进行身份验证,有一个很好的铁道。这真的很简单,它会让你进入到事情的流程中来。
  2. 建立你自己的Omniauth策略。转到Omniauth策略列表并滚动到Developer策略。在该表中,选择可用于连接到SSO服务器的策略。

理想情况下,您可以使用OAuth2,并且有几个指南讨论如何实现您自己的OAuth策略:

  1. 自定义OAuth 1.0策略连接到Rdio
  2. Intridea自定义OAuth 2.0策略(Omniauth的创建者)
  3. 通过Heroku自定义OAuth 2.0连接到Force.com的策略

但既然你做不到,那就看看那些指南吧。在没有任何细节的情况下,我很难提供更多的帮助,但希望其他人能填上细节。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14387577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档