Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for the OIDCScope configuration parameter #19858

Open
abellotti opened this issue Feb 20, 2020 · 5 comments
Open

Add support for the OIDCScope configuration parameter #19858

abellotti opened this issue Feb 20, 2020 · 5 comments

Comments

@abellotti
Copy link
Member

abellotti commented Feb 20, 2020

There are tons of OpenID-Connect configuration parameters we could be considering for OOTB support with mod_auth_openidc in Apache, as seen here in https://github.com/zmartzone/mod_auth_openidc/blob/master/auth_openidc.conf.

While customers can manually update the manageiq-external-auth-openidc.conf file in the /etc/httpd/conf.d directory on the appliance, template for that file being here: https://github.com/ManageIQ/manageiq-appliance/blob/master/TEMPLATE/etc/httpd/conf.d/manageiq-external-auth-openidc.conf.erb, we like to minimize the need to manually update those.

One parameter we can add support for is the OIDCScope. While for our testing the default scope of openid is sufficient, customers may need to add additional scopes as some of the claims we require as shown here https://github.com/ManageIQ/manageiq-appliance/blob/master/TEMPLATE/etc/httpd/conf.d/manageiq-remote-user-openidc.conf
are only sent by the Identity Provider via the additional scopes defined.

This RFE is to add support for the OIDC Scope parameter in ManageIQ. This includes the following updates:

The template itself:

OIDCScope       <%= oidc_scope %>

The updated documentation for manual configuration mentioning the new parameter and the default openid:

The Appliance console CLI for configuring the new parameter:

    --oidc-scope <scope> 

as optional parameter, and defaulting to openid if not specified.

We also need to update the config map generator for the ManageIQ httpd pod accordingly:

   --oidc-scope <scope>

Making sure the auth-oidc-scope parameter is defined for the template to consume.

Would need to update the Podified HTTPD Container's template accordingly to add the OIDCScope parameter:

Finally, when we generate a JWT token in the API in the get_jwt_token method shown here:
- https://github.com/ManageIQ/manageiq-api/blob/95e86abb70c2a601f424e18f3d8d0f3d119c9d01/app/controllers/api/base_controller/authentication.rb#L230

We need to pass the scope as fetched from the config file to the Identity Provider's token_endpoint so we get the optional claims defined for the appliance/ - Implemented here: ManageIQ/manageiq-api#747

@abellotti
Copy link
Member Author

/cc @Fryguy @jvlcek

@Fryguy
Copy link
Member

Fryguy commented Feb 28, 2020

@abellotti Was this part of the recent PR? (and thus closable?)

@Fryguy
Copy link
Member

Fryguy commented Feb 28, 2020

Oh...didn't realize this was for appliance_console cli

@miq-bot
Copy link
Member

miq-bot commented Jun 11, 2020

This issue has been automatically marked as stale because it has not been updated for at least 3 months.

If you can still reproduce this issue on the current release or on master, please reply with all of the information you have about it in order to keep the issue open.

Thank you for all your contributions! More information about the ManageIQ triage process can be found in the traige process documentation.

@miq-bot
Copy link
Member

miq-bot commented Feb 27, 2023

This issue has been automatically marked as stale because it has not been updated for at least 3 months.

If you can still reproduce this issue on the current release or on master, please reply with all of the information you have about it in order to keep the issue open.

Thank you for all your contributions! More information about the ManageIQ triage process can be found in the triage process documentation.

@Fryguy Fryguy removed the stale label Mar 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants