Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails cas1体系结构的Ruby-Gem_Ruby On Rails_Rubygems_Omniauth_Cas - Fatal编程技术网

Ruby on rails cas1体系结构的Ruby-Gem

Ruby on rails cas1体系结构的Ruby-Gem,ruby-on-rails,rubygems,omniauth,cas,Ruby On Rails,Rubygems,Omniauth,Cas,我正在使用omniauth cas 1.0.4向我的用户授权cas服务器。但是服务器支持CAS 1体系结构,而gem支持CAS 2体系结构 CAS 1服务验证程序用两行代码响应(文本/纯HTTP响应);第一行为是或否,对应于提交的申请是否有效。 如果票证有效,第二行包含票证持有人的NetID,即已成功验证的用户的标识。如果票证无效,则第二行为空。 因此,一个示例响应是: 对 牡丹 如果票证有效,CAS会立即将其删除,以便不能再次使用。 但CAS 2体系结构以一个XML片段作为响应。是否有ant

我正在使用omniauth cas 1.0.4向我的用户授权cas服务器。但是服务器支持CAS 1体系结构,而gem支持CAS 2体系结构

CAS 1服务验证程序用两行代码响应(文本/纯HTTP响应);第一行为是或否,对应于提交的申请是否有效。 如果票证有效,第二行包含票证持有人的NetID,即已成功验证的用户的标识。如果票证无效,则第二行为空。 因此,一个示例响应是: 对 牡丹 如果票证有效,CAS会立即将其删除,以便不能再次使用。
但CAS 2体系结构以一个XML片段作为响应。是否有ant gem可用于支持CAS 1体系结构?

在我的快速谷歌搜索中,我没有找到提供CAS 1.0功能的gem,但修改现有库以支持它应该不难。(我不是Ruby开发者,否则我会自己做。)

您可以克隆(如果不是官方位置,也可以克隆)。 所需的大多数修改都在中。您将需要提取XML代码并替换为标准行解析代码。获取\服务\响应\主体应为响应。find_authentication_success将检查响应的第二行。parse_user_info应将哈希[“user”]分配给响应第1行中的用户


该文件也需要更改。CAS 1.0是通过/validate而不是/serviceValidate来处理的。

谢谢您的回复:)我已经修补了这个gem以支持CAS 1.0的功能:)太棒了。除非它包含在官方发行版中,否则您可能可以链接到您的fork,以便您的情况下的其他人可以受益。:)