feat: include fingerprint and certificate
This commit is contained in:
@@ -31,6 +31,18 @@ class AccountSamlSettings < ApplicationRecord
|
||||
sp_entity_id.presence || "#{installation_name}-#{account_id}".downcase
|
||||
end
|
||||
|
||||
def certificate_fingerprint
|
||||
return nil if certificate.blank?
|
||||
|
||||
begin
|
||||
cert = OpenSSL::X509::Certificate.new(certificate)
|
||||
fingerprint = OpenSSL::Digest::SHA1.new(cert.to_der).to_s
|
||||
fingerprint.upcase.gsub(/(.{2})(?=.)/, '\1:')
|
||||
rescue OpenSSL::X509::CertificateError
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def installation_name
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
json.id account_saml_settings.id
|
||||
json.account_id account_saml_settings.account_id
|
||||
json.sso_url account_saml_settings.sso_url
|
||||
json.certificate account_saml_settings.certificate
|
||||
json.fingerprint account_saml_settings.certificate_fingerprint
|
||||
json.sp_entity_id account_saml_settings.sp_entity_id
|
||||
json.role_mappings account_saml_settings.role_mappings || {}
|
||||
json.created_at account_saml_settings.created_at
|
||||
|
||||
Reference in New Issue
Block a user