1

我有一个使用omniauth-google-oauth2 的设计+omniauth 设置。当我尝试使用它登录时,它会尝试 GET /o/oauth2/auth 并失败。我认为这要么是omniauth提供的路由,要么实际上应该尝试获取[google URL]/o/oauth2/auth,但我找不到任何文档。我的配置与 Devise github 的说明基本相同,除了我的路由和控制器。

路线.rb:

devise_for :users, :controllers => { :omniauth_callbacks => 'users/auth' }

配置/初始化程序/devise.rb:

  config.omniauth :google_oauth2, ENV["SSO_GOOGLE_CLIENT_ID"], ENV["SSO_GOOGLE_CLIENT_SECRET"], {
    scope: "email",
  }

Rails 服务器日志:

开始 GET "/users/auth/google_oauth2" for ****:52980 at 2018-04-05 18:30:17 -0500 I, [2018-04-05T18:30:17.678087 #6321] INFO -- omniauth: (google_oauth2) 请求阶段已启动。开始 GET "/o/oauth2/auth?access_type=offline&client_id=****.googleusercontent.com&redirect_uri=http%3A%2F%2F****%3A3000%2Fusers%2Fauth%2Fgoogle_oauth2%2Fcallback&response_type=code&scope=email&state=* ***" for ****:52980 at 2018-04-05 18:30:17 -0500 ActionController::RoutingError (没有路由匹配 [GET] "/o/oauth2/auth"): ...

4

0 回答 0