Ory
Feature availability
Section titled “Feature availability”| Feature | Support |
|---|---|
| User management | ✅ Full |
| Organizations | ✅ Ory Network only (requires ORY_API_KEY) |
| Audit logs | ❌ Not supported |
-
Run Ory Kratos (self-hosted) or create an Ory Network project
Self-hosted: Download Ory Kratos from ory.sh/download and run it with your identity schema. The admin API listens on port
4434by default.Terminal window # Example: run Kratos with Dockerdocker run -d \-p 4434:4434 \oryd/kratos:latest serve --config /etc/config/kratos/kratos.ymlOry Network: Create a project at console.ory.sh. Your project URL is
https://<slug>.projects.oryapis.com. -
Create an API key (Ory Network only)
In the Ory Console, go to Project Settings → API Keys and create a new personal access token. This enables AUMS to authenticate and also unlocks organization management.
-
Configure your identity schema
AUMS expects identities to store the email address in
traits.emailand optionally the name intraits.name.first/traits.name.last. Use the built-inpreset://emailschema or a custom schema that follows this structure.{"$id": "https://schemas.ory.sh/presets/kratos/identity.email.schema.json","type": "object","properties": {"traits": {"type": "object","properties": {"email": { "type": "string", "format": "email" },"name": {"type": "object","properties": {"first": { "type": "string" },"last": { "type": "string" }}}},"required": ["email"]}}} -
Set environment variables
Self-hosted Kratos:
Terminal window PROVIDER=oryORY_ADMIN_URL=http://localhost:4434Ory Network:
Terminal window PROVIDER=oryORY_ADMIN_URL=https://<your-slug>.projects.oryapis.comORY_API_KEY=ory_pat_XXXXXXXXXXXXXXXXOptional:
Terminal window ORY_SCHEMA_ID=default # identity schema ID used when creating users (default: default)
Organizations
Section titled “Organizations”Organizations are available on Ory Network only (set ORY_API_KEY to
enable). Self-hosted Ory Kratos does not include the organizations API.
When ORY_API_KEY is set, AUMS maps Ory Network organizations to AUMS
organizations:
| AUMS operation | Ory Network API call |
|---|---|
| List orgs | GET /admin/organizations |
| Create org | POST /admin/organizations |
| Update org | PUT /admin/organizations/{id} |
| Delete org | DELETE /admin/organizations/{id} |
User management notes
Section titled “User management notes”- Identity state — Blocking a user sets the Ory identity
statetoinactive. Inactive identities cannot log in. - Email verification — Managed via the
verifiable_addressesfield on the identity. AUMS can mark emails as verified or unverified on create and update. - Display name — Stored in
traits.name.firstandtraits.name.last. Requires your identity schema to include thenameobject in traits. - Password — Passwords are set via the
credentials.passwordfield on create or update. Leave blank to create a passwordless identity (OIDC/WebAuthn only). - Schema ID — AUMS uses
ORY_SCHEMA_ID(default:default) when creating identities. Ensure this schema ID exists in your Ory configuration. - Pagination — List results are cursor-based via Ory’s
page_token. Total count reflects the current page size only (Ory does not return a global total on all versions).
OIDC login (optional)
Section titled “OIDC login (optional)”To protect the AUMS dashboard with Ory SSO, create an OAuth2 client in Ory and configure it as an OIDC provider:
Self-hosted Kratos + Hydra:
AUTH_CLIENT_OPENID_CONFIGURATION_URL=https://your-hydra-instance/.well-known/openid-configurationAUTH_CLIENT_ID=your-oidc-client-idAUTH_CLIENT_SECRET=your-oidc-client-secretOry Network:
AUTH_CLIENT_OPENID_CONFIGURATION_URL=https://<your-slug>.projects.oryapis.com/.well-known/openid-configurationAUTH_CLIENT_ID=your-oidc-client-idAUTH_CLIENT_SECRET=your-oidc-client-secretAdd <BASE_URL>/api/auth/callback/oidc to the allowed redirect URIs of your
Ory OAuth2 client.