单一登录使用设计

时间:2015-10-05 11:20:04

标签: ruby-on-rails ruby-on-rails-3 devise omniauth

我正在尝试在我的应用程序中使用单点登录。我指的是this link的实施。

根据他们的实现,他们有两个不同的应用程序

  • 提供商(用于注册/进入的设计)
  • 客户(没有设计)

它工作正常。我可以登录并注销。

现在我正在尝试在我的应用程序中实现相同的方案。我有以下应用程序(它们已经构建并用于登录/启动设计)

  • 提供商(用于注册/进入的设计)
  • 客户(使用设计)

我按原样保留了该应用程序应用程序(根据provider。)

但是当我尝试在我的客户端实现此操作时会出现以下错误

Could not find devise mapping for path "/auth/sso/callback?code=c6fb99e3d8c6c2545f5a99c6385d7e76&response_type=code&state=7e33b2653946fc3c896e3b8091cfd17c0d6ddd5cfafd16c4".

为此我做了以下更改

omniauth.rb

APP_ID = 'refe123456789'
APP_SECRET = 'refer123456789'

CUSTOM_PROVIDER_URL = 'http://localhost:3000'

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :sso, APP_ID, APP_SECRET
end

的routes.rb

devise_for :users, :controllers => {:sessions => "sessions"}

  # omniauth
  get '/auth/:provider/callback' => 'sessions#create'
  get '/auth/failure' => 'sessions#failure'

的Gemfile

gem 'omniauth'
gem 'omniauth-oauth2'

如何解决此问题。

0 个答案:

没有答案