Class: Sigstore::CLI::IdToken

Inherits:
Object
  • Object
show all
Includes:
Loggable
Defined in:
lib/sigstore/cli/id_token.rb

Direct Known Subclasses

GitHub

Defined Under Namespace

Classes: AmbientCredentialError, GitHub

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(audience) ⇒ IdToken

Returns a new instance of IdToken.



31
32
33
# File 'lib/sigstore/cli/id_token.rb', line 31

def initialize(audience)
  @audience = audience
end

Class Method Details

.call(audience) ⇒ Object



27
28
29
# File 'lib/sigstore/cli/id_token.rb', line 27

def self.call(audience)
  new(audience).call
end

.detect_credentialObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sigstore/cli/id_token.rb', line 10

def self.detect_credential
  [
    GitHub
    # detect_gcp,
    # detect_buildkite,
    # detect_gitlab,
    # detect_circleci
  ].each do |detector|
    credential = detector.call("sigstore")
    return credential if credential
  end

  logger.debug { "failed to find ambient OIDC credential" }

  nil
end

Instance Method Details

#callObject

Raises:

  • (NotImplementedError)


35
36
37
# File 'lib/sigstore/cli/id_token.rb', line 35

def call
  raise NotImplementedError, "#{self.class}#call"
end