如何将/ auth /:provider中的omniauth路由更改为/ myapp / auth /:provider

如何更改触发omniauth的路由从/ auth /:provider到/ myapp / auth /:provider?

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

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

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

这是我在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是一个带有omniauth::cas CAS配置的数组。 这似乎工作正常。 我想你也必须改变omniauth回调: /auth/:provider/callback应该以/my-app-path/auth/:provider/callback为前缀。

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

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

重启你的app服务器,试试吧!