Class: StandardId::ClientSecretCredential

Inherits:
ApplicationRecord show all
Includes:
Credentiable
Defined in:
app/models/standard_id/client_secret_credential.rb

Instance Method Summary collapse

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'app/models/standard_id/client_secret_credential.rb', line 23

def active?
  active && revoked_at.nil?
end

#default_redirect_uriObject



31
32
33
# File 'app/models/standard_id/client_secret_credential.rb', line 31

def default_redirect_uri
  redirect_uris&.split(" ")&.first
end

#effective_default_redirect_uriObject



46
47
48
# File 'app/models/standard_id/client_secret_credential.rb', line 46

def effective_default_redirect_uri
  effective_redirect_uris_array.first
end

#effective_redirect_uris_arrayObject



41
42
43
44
# File 'app/models/standard_id/client_secret_credential.rb', line 41

def effective_redirect_uris_array
  return redirect_uris.to_s.split(/\s+/).map(&:strip).reject(&:blank?) if redirect_uris.present?
  client_application.redirect_uris_array
end

#effective_scopes_arrayObject

Effective configuration with per-secret override fallback



36
37
38
39
# File 'app/models/standard_id/client_secret_credential.rb', line 36

def effective_scopes_array
  return scopes_array if scopes.present?
  client_application.scopes_array
end

#revoke!Object



19
20
21
# File 'app/models/standard_id/client_secret_credential.rb', line 19

def revoke!
  update!(active: false, revoked_at: Time.current)
end

#scopes_arrayObject



27
28
29
# File 'app/models/standard_id/client_secret_credential.rb', line 27

def scopes_array
  (scopes || "").split(" ").map(&:strip).reject(&:blank?)
end