Module: Legion::Extensions::Github::App::Runners::CredentialStore
- Includes:
- Helpers::Lex
- Included in:
- CLI::App, Client, Runners::Auth
- Defined in:
- lib/legion/extensions/github/app/runners/credential_store.rb
Instance Method Summary collapse
- #load_oauth_token(user:) ⇒ Object
- #store_app_credentials(app_id:, private_key:, client_id:, client_secret:, webhook_secret:) ⇒ Object
- #store_oauth_token(user:, access_token:, refresh_token:, expires_in: nil, scope: nil) ⇒ Object
Instance Method Details
#load_oauth_token(user:) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/legion/extensions/github/app/runners/credential_store.rb', line 30 def load_oauth_token(user:, **) data = begin vault_get("github/oauth/#{user}/token") rescue StandardError => _e nil end { result: data } end |
#store_app_credentials(app_id:, private_key:, client_id:, client_secret:, webhook_secret:) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/legion/extensions/github/app/runners/credential_store.rb', line 11 def store_app_credentials(app_id:, private_key:, client_id:, client_secret:, webhook_secret:, **) vault_set('github/app/app_id', app_id) vault_set('github/app/private_key', private_key) vault_set('github/app/client_id', client_id) vault_set('github/app/client_secret', client_secret) vault_set('github/app/webhook_secret', webhook_secret) { result: true } end |
#store_oauth_token(user:, access_token:, refresh_token:, expires_in: nil, scope: nil) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/legion/extensions/github/app/runners/credential_store.rb', line 20 def store_oauth_token(user:, access_token:, refresh_token:, expires_in: nil, scope: nil, **) data = { 'access_token' => access_token, 'refresh_token' => refresh_token, 'expires_in' => expires_in, 'scope' => scope, 'stored_at' => Time.now.iso8601 }.compact vault_set("github/oauth/#{user}/token", data) # Also write to canonical delegated path so resolve_vault_delegated can discover the token vault_set('github/oauth/delegated/token', data) { result: true } end |