Aalyria · Authentication Profile

Aalyria Authentication

Authentication

Aalyria secures its APIs with jwt-bearer and openIdConnect across 3 declared security schemes, as derived from its OpenAPI definitions.

CompanyNetworkingSatelliteSpaceTelecommunicationsSoftware Defined NetworkingOrchestrationAerospaceDefenseConnectivitygRPCProtocol BuffersTelemetryOptical Communications
Methods: jwt-bearer, openIdConnect Schemes: 3 OAuth flows: API key in:

Security Schemes

SelfSignedJWT jwt-bearer
OIDC openIdConnect
None none

Source

Authentication Profile

aalyria-authentication.yml Raw ↑
generated: '2026-08-02'
method: searched
source: https://docs.spacetime.aalyria.com/api/authentication/
docs: https://docs.spacetime.aalyria.com/api/authentication/
note: 'Spacetime publishes no OpenAPI, so this profile is not derived from securitySchemes.
  It is transcribed from the published authentication guide and from the nbictl
  configuration surface in github.com/aalyria/api (tools/nbictl).'
summary:
  types:
  - jwt-bearer
  - openIdConnect
  transport: gRPC over TLS (HTTP/2); bearer token in the Authorization metadata header
  oauth2_flows: []
  api_key_in: []
schemes:
- name: SelfSignedJWT
  type: jwt-bearer
  default: true
  description: 'The primary Spacetime authentication strategy. The client generates
    an RSA keypair locally (via `nbictl generate-keys` or OpenSSL), submits the self-signed
    x509 certificate carrying the public key to Aalyria, and receives a USER_ID, KEY_ID
    and DOMAIN. Each call is authenticated with a short-lived JWT the client signs
    itself with the private key and passes as a bearer token in the Authorization
    header.'
  algorithm: RS256
  header_claims:
    alg: RS256
    kid: $KEY_ID
    typ: JWT
  payload_claims:
    iss: $USER_ID
    sub: $USER_ID
    aud: https://${DOMAIN}/${GRPC_SERVICE}/${GRPC_METHOD}
    exp: UNIX timestamp
    iat: UNIX timestamp
  audience_note: 'The audience is per-RPC — it binds the token to a single gRPC service
    and method, e.g. https://version.$DOMAIN/aalyria.spacetime.api.version.v1.VersionService/GetVersion'
  credential_issuance: 'Out of band. Public certificate (.crt) is shared with Aalyria;
    the private key (.key) never leaves the client.'
  source: https://docs.spacetime.aalyria.com/api/authentication/
- name: OIDC
  type: openIdConnect
  default: false
  description: 'nbictl exposes an `oidc` auth strategy alongside `jwt`, configured
    with a client id and a token endpoint URL, for Spacetime deployments fronted by
    an OpenID Connect provider. The issuer/token endpoint is deployment-specific and
    is not published.'
  parameters:
  - --auth_strategy=oidc
  - --client_id
  - --token_url
  source: https://github.com/aalyria/api/blob/main/tools/nbictl/README.md
- name: None
  type: none
  default: false
  description: '`--auth_strategy=none` sends no credentials. Intended for local or
    test Spacetime instances only.'
  source: https://github.com/aalyria/api/blob/main/tools/nbictl/README.md
authorization:
  model: 'Server-side authorization is a first-class API of its own. The Permissions
    service (aalyria.spacetime.api.permissions.v1alpha) exposes CheckPermission, CheckPermissions,
    UpdateAuthorizationConfig and ListAuthorizationConfigRevisions, so the authorization
    configuration is versioned and queryable rather than expressed as OAuth scopes.'
  source: grpc/api/permissions/v1alpha/permissions.proto
  oauth_scopes: false
  scopes_note: 'No OAuth2 authorization server and no scope vocabulary are published,
    so scopes/ is intentionally not emitted for this provider.'
audit:
  service: aalyria.spacetime.api.audit.v1alpha.AuditLogService
  source: grpc/api/audit/v1alpha/audit_logs.proto
transport_security:
  values:
  - system_cert_pool
  - insecure
  default: system_cert_pool
  transports:
  - tcp
  - quic
  source: https://github.com/aalyria/api/blob/main/tools/nbictl/README.md
x-evidence:
- fetched: '2026-08-02'
  url: https://docs.spacetime.aalyria.com/api/authentication/
  http_status: 200
- fetched: '2026-08-02'
  url: https://github.com/aalyria/api
  http_status: 200