FEATURE: List, revoke and reconnect associated accounts. Phase 1 (#6099)
Listing connections is supported for all built-in auth providers. Revoke and reconnect is currently only implemented for Facebook.
This commit is contained in:
@@ -451,6 +451,7 @@ JS
|
||||
register_assets! unless assets.blank?
|
||||
register_locales!
|
||||
register_service_workers!
|
||||
register_auth_providers!
|
||||
|
||||
seed_data.each do |key, value|
|
||||
DiscoursePluginRegistry.register_seed_data(key, value)
|
||||
@@ -488,6 +489,20 @@ JS
|
||||
Plugin::AuthProvider.auth_attributes.each do |sym|
|
||||
provider.send "#{sym}=", opts.delete(sym)
|
||||
end
|
||||
|
||||
after_initialize do
|
||||
begin
|
||||
provider.authenticator.enabled?
|
||||
rescue NotImplementedError
|
||||
provider.authenticator.define_singleton_method(:enabled?) do
|
||||
Rails.logger.warn("Auth::Authenticator subclasses should define an `enabled?` function. Patching for now.")
|
||||
return SiteSetting.send(provider.enabled_setting) if provider.enabled_setting
|
||||
Rails.logger.warn("Plugin::AuthProvider has not defined an enabled_setting. Defaulting to true.")
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
auth_providers << provider
|
||||
end
|
||||
|
||||
@@ -567,6 +582,12 @@ JS
|
||||
end
|
||||
end
|
||||
|
||||
def register_auth_providers!
|
||||
auth_providers.each do |auth_provider|
|
||||
DiscoursePluginRegistry.register_auth_provider(auth_provider)
|
||||
end
|
||||
end
|
||||
|
||||
def register_locales!
|
||||
root_path = File.dirname(@path)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user