Skip to content

feat: add mod_oauth2#753

Open
Tadas Sutkaitis (fitbeard) wants to merge 2 commits intomainfrom
feat/add_mod_oauth2
Open

feat: add mod_oauth2#753
Tadas Sutkaitis (fitbeard) wants to merge 2 commits intomainfrom
feat/add_mod_oauth2

Conversation

@fitbeard
Copy link
Copy Markdown

Add mod_oauth2. This allows JWKS verification per domain/realm.

In Atmosphere for Keystone we are using this configuration snippet:

{% for domain in keystone_domains %}
<Location /v3/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/auth>
  AuthType oauth20  
  Require valid-user
</Location>
...
{% endfor %}

After mod_oauth2 introduction we can change to:

{% for domain in keystone_domains %}
<Location /v3/OS-FEDERATION/identity_providers/{{ domain.name }}/protocols/openid/auth>
  AuthType oauth2
  Require valid-user
  OAuth2TargetPass prefix=OIDC-
  OAuth2TokenVerify jwks_uri {{ domain.keycloak_server_url }}/realms/{{ domain.keycloak_realm }}/protocol/openid-connect/certs
</Location>
...
{% endfor %}

This adds more options for token verification using JWKS uri, token introspection or jwt token attribute check PER domain.

Inspiration for this change is vexxhost/sunrise#39 for Sunrise where same JWT token from Keycloak used for Keystone auth used once again over token exchange to authorize user to access S3 resources.

Co-authored-by: Copilot <copilot@github.com>
Signed-off-by: Tadas Sutkaitis <tadas.sutkaitis@vexxhost.com>
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.

1 participant