这里是情况。我正在使用apartment gem开发一款多租户rails应用程序,需要实现LinkedIn OmniAuth策略。
从我的路由可以看出,Devise用户及其关联路由只保留在子域的各个模式中。
示例路由:
好的:https://frank.example.io/users/sign_in
不好的:https://example.io/users/sign_in
路由:
从我的路由可以看出,Devise用户及其关联路由只保留在子域的各个模式中。
示例路由:
好的:https://frank.example.io/users/sign_in
不好的:https://example.io/users/sign_in
路由:
class SubdomainPresent
def self.matches?(request)
request.subdomain.present?
end
end
class SubdomainBlank
def self.matches?(request)
request.subdomain.blank?
end
end
Rails.application.routes.draw do
constraints(SubdomainPresent) do
...
devise_for :users, controllers: {
omniauth_callbacks: 'omniauth_callbacks'
}
devise_scope :user do
get '/users/:id', to: 'users/registrations#show', as: "show_user"
end
...
end
end
我的具体问题是LinkedIn不支持带通配符的回调URL,所以我不知道如何在OAuth认证后将用户引导到正确的域名。
user_id
吧?这就是你需要开始的地方。 - CottonEyeJoeA
和B
,每个模式都可以有一个user.id == 1
的用户。 - Will