discourse/lib/validators/linkedin_oidc_credentials_validator.rb
Ted Johansson 9e31135eca
FEATURE: Allow users to sign in using LinkedIn OpenID Connect (#26281)
LinkedIn has grandfathered its old OAuth2 provider. This can only be used by existing apps. New apps have to use the new OIDC provider.

This PR adds a linkedin_oidc provider to core. This will exist alongside the discourse-linkedin-auth plugin, which will be kept for those still using the deprecated provider.
2024-04-19 18:47:30 +08:00

24 lines
490 B
Ruby

# frozen_string_literal: true
class LinkedinOidcCredentialsValidator
def initialize(opts = {})
@opts = opts
end
def valid_value?(val)
return true if val == "f"
return false if credentials_missing?
true
end
def error_message
I18n.t("site_settings.errors.linkedin_oidc_credentials") if credentials_missing?
end
private
def credentials_missing?
SiteSetting.linkedin_oidc_client_id.blank? || SiteSetting.linkedin_oidc_client_secret.blank?
end
end