Uploaded image for project: 'Satellite'
  1. Satellite
  2. SAT-42266

Implement OAuth 2.0 for token-based authentication

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • API, Authentication, MCP
    • None
    • False
    • sat-endeavour
    • None
    • None
    • None
    • None

      Problem Statement
      Satellite currently supports several authentication mechanisms:

      • internal username & password
      • internal username & personal access token
      • oauth 1 (only for internal use)
      • JWTs for host registration
      • LDAP
      • integration with external identity providers (IdM, AD, Keycloak)

      OAuth2.0 is a modern standard, that provides a unified, industry-recognized framework for delegated authorization. Unlike Personal Access Tokens (PATs), which are often long-lived and over-privileged, OAuth 2.0 allows for granular "scopes," automatic token expiration (refresh tokens), and a "Handshake" flow that prevents users from ever having to share their primary credentials with third-party integrations.

      User Experience & Workflow

      We should more or less mirror what AAP does AAP - Token-Based Authentication

      Requirements

      • Integration of a provider library (e.g., Doorkeeper) into the Rails core to manage applications and tokens.
      • Implementation of initial scopes by mapping existing permissions (and roles?) to restrict tool access.
      • UI/API/CLI for management of OAuth 2 applications and tokens
      • (optional) Removal of OAuth 1

      Business Impact
      Implementing OAuth 2 would benefit us by:

      • allow issuing scoped tokens instead of PATs we have now
      • making it easier to integrate Satellite with 3rd party tooling (such as MCP servers)
      • allowing us to drop some of the authentication methods which are rather dated at this point

              Unassigned Unassigned
              aruzicka@redhat.com Adam Ruzicka
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: