14

如何将触发omniauth的路由从使用 /auth/:provider 更改为 /myapp/auth/:provider ?

我也不想重定向,因为我的服务器会将 /myapp/ 中不存在的任何内容发送到错误的位置。

4

3 回答 3

11

这是我在config.ru文件中执行此操作的方法。我的情况,我的提供者是CAS

use OmniAuth::Builder do
  configure do |config|
      config.path_prefix = '/my-app-path/auth'
  end
  provider :cas,  CAS::OPTIONS 
end

请注意,这CAS::OPTIONS是一个具有 CAS 配置的数组omniauth::cas。这似乎工作正常。我认为您也必须更改omniauth回调:/auth/:provider/callback应该以/my-app-path/auth/:provider/callback.

于 2013-09-12T15:42:52.140 回答
6

您可以通过:setup选项更改它

来源:https ://github.com/omniauth/omniauth/blob/e9978e377f1ac2b7271e5a8486dfe103a1c1d48d/lib/omniauth/strategy.rb#L304-L307

于 2012-04-05T18:48:25.077 回答
0

在初始化程序中添加以下选项:

option :request_path, 'https://yourdomain.com/auth/yourprovider/callback'

重新启动您的应用服务器并尝试!

于 2017-04-13T17:54:50.117 回答