Gem 求助:关于单点登录 SSO 验证的疑问

michael_roshen · 2014年05月30日 · 2590 次阅读
#encoding: utf-8
module Client
    class UserOmniauthCallbacksController < Devise::OmniauthCallbacksController
      def cas
        puts "+"*12

      end

      def failure
        puts "-"*12
        redirect_to after_omniauth_failure_path
      end
        end
end

路由: /user/auth/:action/callback(.:format) {:controller=>"client/user_omniauth_callbacks", :action=>/cas/} 想单点登录系统发送请求,获取 ticket https://xxxx.com/login?service_key=xxxxxxxx&callback_url=http://xxxxxx:3000/user/auth/cas/callback?url=http://xxxxxxx:3000 单点登录系统调用 callback http://xxxxxx:3000/user/auth/cas/callback?url=http://xxxxxxx:3000&ticket=yyyyyyyyyyyyyyyyyyyyyy

正常的 流程应该是进到 cas 中,向单点登录系统发送验证 ticket 的请求,并获取用户信息,如果验证失败, 执行 failure, 但是我们这里不会走到 cas 方法里,直接就进入到 failure 中了,求解

log

19:37:53 action_controller Redirected to https://xxxxx.com/login?service_key=xxxxxxxxx&callback_url=http://xxxxxxxxx:3000/user/auth/cas/callback?url=http://xxxxxxxxx:3000
19:37:53 action_controller Completed 302 Found in 544ms
------------

19:37:53 Started GET "/user/auth/cas/callback?url=http://xxxxxxxxxx:3000&ticket=ST-xxxxxxxxxxxxxx" for 192.168.214.1 at Thu May 29 19:37:53 -0700 2014
19:37:55 action_controller Processing by Client::UserOmniauthCallbacksController#failure as HTML

19:37:55 Parameters: {"url"=>"http://xxxxxxxx:3000", "ticket"=>"ST-xxxxxxxxxxxxxx"}

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号