Skip to content

Application/IAM

Field Value
Purpose Defines identity and access management application configuration — OAuth2/OIDC clients, users, protocols
Repo AmadlaOrg/Entities/Application/IAM
Entity URI amadla.org/entity/application/iam@v1.0.0
Parent type Application

Schema

Application/IAM describes identity provider requirements:

  • Provider: keycloak, authentik, authelia, openldap
  • Authentication realm or domain
  • OAuth2/OIDC client registrations (client_id, redirect URIs, grant types, public/confidential)
  • Initial user accounts (username, email, roles, password via doorman secret)
  • Supported protocols: OIDC, SAML, LDAP, OAuth2

Example

_type: amadla.org/entity/application/iam@v1.0.0
_body:
  provider: keycloak
  realm: my-app
  protocols:
    - oidc
    - saml
  clients:
    - client_id: my-web-app
      redirect_uris:
        - "https://app.example.com/callback"
        - "http://localhost:3000/callback"
      grant_types:
        - authorization_code
        - refresh_token
      public: true

    - client_id: my-api
      grant_types:
        - client_credentials
      public: false

  users:
    - username: admin
      email: admin@example.com
      roles:
        - admin
        - user
      password_secret: iam/admin-password

Consumers

Tool How It Uses Application/IAM
lay Installs the IAM provider
weaver Generates realm/client configuration files
doorman Resolves password_secret references
judge-application Validates IAM provider is running with correct configuration