Skip to content

add keycloak client for external API token issuance#32

Merged
edandylytics merged 2 commits intodevelopmentfrom
feature/local-keycloak-api-client
Mar 5, 2026
Merged

add keycloak client for external API token issuance#32
edandylytics merged 2 commits intodevelopmentfrom
feature/local-keycloak-api-client

Conversation

@edandylytics
Copy link
Collaborator

This PR allows Runway's external API to be used out of the box when running Runway locally, no setup or outside IdP required.

docker compose up should apply the updated Keycloak config. Then run the curl commands in the README to test that it all works. You'll need to be running the API process: npx nx run api:serve. You may need to copy over the now-uncommented env vars from api/.env.copyme to your .env file

Configure a second Keycloak client (runway-api) for the client
credentials flow so the external API can be tested locally without
an external IdP. Adds create:jobs and partner:ea client scopes,
an audience mapper, and updates .env.copyme with working defaults.

Update docs with local development curl examples and fix the
generic token request example to use form-encoded parameters.

Made-with: Cursor
@edandylytics edandylytics force-pushed the feature/local-keycloak-api-client branch from abfa34e to 2d6ec6e Compare March 4, 2026 22:08
Copy link

@bhaugeea bhaugeea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works great! Was super easy to spin up.


The local Keycloak instance (started by `docker compose`) comes pre-configured with a `runway-api` client for the external API. No additional IdP setup is needed.

The client is configured in [`api/keycloak/config.yaml`](../../../../api/keycloak/config.yaml) with the `create:jobs` and `partner:ea` scopes and an audience of `runway-local`.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It needs one fewer ../ I think

Copy link
Collaborator

@johncmerfeld johncmerfeld left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worked great for me too!

@edandylytics edandylytics merged commit fff1aaa into development Mar 5, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants