Exception: KeycloakApiRails::TokenError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/keycloak-api-rails/token_error.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(token, reason, message, original_error = nil) ⇒ TokenError

Returns a new instance of TokenError.



7
8
9
10
11
12
# File 'lib/keycloak-api-rails/token_error.rb', line 7

def initialize(token, reason, message, original_error = nil)
  super(message)
  @token          = token
  @reason         = reason
  @original_error = original_error
end

Instance Attribute Details

#original_errorObject (readonly)

Returns the value of attribute original_error.



5
6
7
# File 'lib/keycloak-api-rails/token_error.rb', line 5

def original_error
  @original_error
end

#reasonObject (readonly)

Returns the value of attribute reason.



5
6
7
# File 'lib/keycloak-api-rails/token_error.rb', line 5

def reason
  @reason
end

#tokenObject (readonly)

Returns the value of attribute token.



5
6
7
# File 'lib/keycloak-api-rails/token_error.rb', line 5

def token
  @token
end

Class Method Details

.expired(token) ⇒ Object



30
31
32
# File 'lib/keycloak-api-rails/token_error.rb', line 30

def self.expired(token)
  new(token, :expired, "JWT token is expired")
end

.invalid_audience(token) ⇒ Object



38
39
40
# File 'lib/keycloak-api-rails/token_error.rb', line 38

def self.invalid_audience(token)
  new(token, :invalid_audience, "JWT token has been issued for another audience")
end

.invalid_claim(token, claim) ⇒ Object



50
51
52
# File 'lib/keycloak-api-rails/token_error.rb', line 50

def self.invalid_claim(token, claim)
  new(token, :invalid_claim, "JWT token carries an invalid '#{claim}' claim: it must be a number of seconds since the Epoch")
end

.invalid_format(token, original_error = nil) ⇒ Object



18
19
20
# File 'lib/keycloak-api-rails/token_error.rb', line 18

def self.invalid_format(token, original_error = nil)
  new(token, :invalid_format, "Wrong JWT Format", original_error)
end

.invalid_realm(token) ⇒ Object



22
23
24
# File 'lib/keycloak-api-rails/token_error.rb', line 22

def self.invalid_realm(token)
  new(token, :invalid_realm, "JWT token does not have a valid realm")
end

.invalid_token_type(token) ⇒ Object



42
43
44
# File 'lib/keycloak-api-rails/token_error.rb', line 42

def self.invalid_token_type(token)
  new(token, :invalid_token_type, "JWT token is not of the expected type")
end

.missing_claim(token, claim) ⇒ Object



46
47
48
# File 'lib/keycloak-api-rails/token_error.rb', line 46

def self.missing_claim(token, claim)
  new(token, :missing_claim, "JWT token does not carry the mandatory claim '#{claim}'")
end

.no_token(token) ⇒ Object



26
27
28
# File 'lib/keycloak-api-rails/token_error.rb', line 26

def self.no_token(token)
  new(token, :no_token, "No JWT token provided")
end

.not_yet_valid(token) ⇒ Object



34
35
36
# File 'lib/keycloak-api-rails/token_error.rb', line 34

def self.not_yet_valid(token)
  new(token, :not_yet_valid, "JWT token is not valid yet")
end

.unknown(token, original_error) ⇒ Object



54
55
56
# File 'lib/keycloak-api-rails/token_error.rb', line 54

def self.unknown(token, original_error)
  new(token, :unknown, "Failed to read JWT token", original_error)
end

.verification_failed(token, original_error) ⇒ Object



14
15
16
# File 'lib/keycloak-api-rails/token_error.rb', line 14

def self.verification_failed(token, original_error)
  new(token, :verification_failed, "Failed to verify JWT token", original_error)
end