class HammerCLIForeman::Auth::LoginCommand::Oauth

Public Instance Methods

execute() click to toggle source
# File lib/hammer_cli_foreman/auth.rb, line 45
def execute
  if option_two_factor?
    Oauth.execute_with_params(
      AUTH_TYPES[:oauth_authentication_code_grant],
      option_oidc_token_endpoint,
      option_oidc_authorization_endpoint,
      option_oidc_client_id,
      option_oidc_redirect_uri
    )
  else
    Oauth.execute_with_params(
      AUTH_TYPES[:oauth_password_grant],
      option_oidc_token_endpoint,
      option_oidc_client_id,
      option_username || HammerCLI::Settings.get('_params', 'username'),
      option_password || HammerCLI::Settings.get('_params', 'password')
    )
  end
  logged_user = HammerCLIForeman.foreman_api_connection.authenticator.user
  print_message(_("Successfully logged in as '%s'.") % logged_user)
  HammerCLI::EX_OK
end