mirror of
https://github.com/discourse/discourse.git
synced 2024-12-02 03:03:44 +08:00
30990006a9
This reduces chances of errors where consumers of strings mutate inputs and reduces memory usage of the app. Test suite passes now, but there may be some stuff left, so we will run a few sites on a branch prior to merging
40 lines
959 B
Ruby
40 lines
959 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Auth::AuthProvider
|
|
include ActiveModel::Serialization
|
|
|
|
def initialize(params = {})
|
|
params.each { |key, value| public_send "#{key}=", value }
|
|
end
|
|
|
|
def self.auth_attributes
|
|
[:pretty_name, :title, :message, :frame_width, :frame_height, :authenticator,
|
|
:pretty_name_setting, :title_setting, :enabled_setting, :full_screen_login, :full_screen_login_setting,
|
|
:custom_url, :background_color, :icon]
|
|
end
|
|
|
|
attr_accessor(*auth_attributes)
|
|
|
|
def enabled_setting=(val)
|
|
Discourse.deprecate("enabled_setting is deprecated. Please define authenticator.enabled? instead")
|
|
@enabled_setting = val
|
|
end
|
|
|
|
def background_color=(val)
|
|
Discourse.deprecate("background_color is no longer functional. Please use CSS instead")
|
|
end
|
|
|
|
def name
|
|
authenticator.name
|
|
end
|
|
|
|
def can_connect
|
|
authenticator.can_connect_existing_user?
|
|
end
|
|
|
|
def can_revoke
|
|
authenticator.can_revoke?
|
|
end
|
|
|
|
end
|