Class: Gitlab::Auth::DpopTokenUser

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/auth/dpop_token_user.rb

Constant Summary collapse

SUPPORTED_JWS_ALGORITHMS =
{ 'ssh-rsa' => 'RS512' }.freeze
SUPPORTED_TYPES =
['dpop+jwt'].freeze
SUPPORTED_KEY_TYPES =
['RSA'].freeze
SUPPORTED_PROOF_KEY_ID_HASHING_ALGORITHMS =
['SHA256'].freeze

Instance Method Summary collapse

Constructor Details

#initialize(token:, user:, personal_access_token_plaintext:) ⇒ DpopTokenUser

Returns a new instance of DpopTokenUser.



18
19
20
21
22
# File 'lib/gitlab/auth/dpop_token_user.rb', line 18

def initialize(token:, user:, personal_access_token_plaintext:)
  @token = token
  @user = user
  @personal_access_token_plaintext = personal_access_token_plaintext
end

Instance Method Details

#validate!Object



24
25
26
27
28
29
# File 'lib/gitlab/auth/dpop_token_user.rb', line 24

def validate!
  token.validate!
  pat_belongs_to_user!
  valid_token_for_user!
  valid_access_token_hash!
end