-
Notifications
You must be signed in to change notification settings - Fork 77
External idp | new variables for various clients #270
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -313,6 +313,25 @@ IDP_DOMAIN= | |
| IDP_ISSUER_URL= | ||
| # Url of the account edit page from your Identity Provider. | ||
| IDP_ACCOUNT_URL= | ||
| # Global Client ID, you can overwrite it by defining a client specific client id | ||
| OC_OIDC_CLIENT_ID="{{ item.oc_oidc_client_id }}" | ||
| # Declares which property should be used for the oidc claim | ||
| PROXY_ROLE_ASSIGNMENT_OIDC_CLAIM="roles" | ||
| # claim_role to opencloud mapping | ||
| OC_OIDC_CLIENT_SCOPES="openid profile email roles offline_access" | ||
| # Unfortunetely needed at the moment (be careful to set it to none in prod) | ||
| # PROXY_OIDC_ACCESS_TOKEN_VERIFY_METHOD=none | ||
| # Allow OpenCloud, to show Authentik Login-Frame | ||
| PROXY_CSP_CONFIG_FILE_LOCATION="/etc/ocis/csp.yaml" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ocis? wouldnt it break csp?
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. please remove that line. |
||
| # Client specific environment vars | ||
| #WEBFINGER_WEB_OIDC_CLIENT_ID= | ||
| #WEBFINGER_WEB_OIDC_CLIENT_SCOPES= | ||
| #WEBFINGER_IOS_OIDC_CLIENT_ID= | ||
| #WEBFINGER_IOS_OIDC_CLIENT_SCOPES= | ||
| #WEBFINGER_ANDROID_OIDC_CLIENT_ID= | ||
| #WEBFINGER_ANDROID_OIDC_CLIENT_SCOPES= | ||
| #WEBFINGER_DESKTOP_OIDC_CLIENT_ID= | ||
| #WEBFINGER_DESKTOP_OIDC_CLIENT_SCOPES= | ||
|
|
||
| ## Shared User Directory Mode ## | ||
| # Use together with idm/ldap-keycloak.yml and traefik/ldap-keycloak.yml | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,7 +14,17 @@ services: | |
| GRAPH_LDAP_REFINT_ENABLED: "true" # osixia has refint enabled. | ||
| FRONTEND_READONLY_USER_ATTRIBUTES: "user.onPremisesSamAccountName,user.displayName,user.mail,user.passwordProfile,user.accountEnabled,user.appRoleAssignments" | ||
| PROXY_OIDC_REWRITE_WELLKNOWN: "true" | ||
| WEB_OIDC_CLIENT_ID: ${OC_OIDC_CLIENT_ID:-web} | ||
| OC_OIDC_CLIENT_ID: ${OC_OIDC_CLIENT_ID:-web} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is only the override value. We should have that empty. |
||
| OC_OIDC_CLIENT_SCOPES: ${PROXY_ROLE_ASSIGNMENT_OIDC_CLAIM:-openid profile email roles offline_access} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same here, just an empty value will be enough |
||
| PROXY_ROLE_ASSIGNMENT_OIDC_CLAIM: ${PROXY_ROLE_ASSIGNMENT_OIDC_CLAIM:-roles} | ||
| WEBFINGER_WEB_OIDC_CLIENT_ID: ${WEBFINGER_WEB_OIDC_CLIENT_ID:-${OC_OIDC_CLIENT_ID}} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should default to empty, the default of the opencloud code is already |
||
| WEBFINGER_WEB_OIDC_CLIENT_SCOPES: ${WEBFINGER_WEB_OIDC_CLIENT_SCOPES:-${OC_OIDC_CLIENT_SCOPES}} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should default to Explanation: Web can refresh its access token without offline access, caused by the nature of it being a wen client. Giving a refresh token to an untrusted client is not good. On top: offline tokens are causing heavy load on OIDC Provider session handling. |
||
| WEBFINGER_ANDROID_OIDC_CLIENT_ID: ${WEBFINGER_ANDROID_OIDC_CLIENT_ID:-${OC_OIDC_CLIENT_ID}} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should default to empty. The product default is |
||
| WEBFINGER_ANDROID_OIDC_CLIENT_SCOPES: ${WEBFINGER_ANDROID_OIDC_CLIENT_SCOPES:-${OC_OIDC_CLIENT_SCOPES}} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be empty. The product default is |
||
| WEBFINGER_IOS_OIDC_CLIENT_ID: ${WEBFINGER_IOS_OIDC_CLIENT_ID:-${OC_OIDC_CLIENT_ID}} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should default to empty. The product default is |
||
| WEBFINGER_IOS_OIDC_CLIENT_SCOPES: ${WEBFINGER_IOS_OIDC_CLIENT_SCOPES:-${OC_OIDC_CLIENT_SCOPES}} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be empty. The product default is |
||
| WEBFINGER_DESKTOP_OIDC_CLIENT_ID: ${WEBFINGER_DESKTOP_OIDC_CLIENT_ID:-${OC_OIDC_CLIENT_ID}} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should default to empty. The product default is |
||
| WEBFINGER_DESKTOP_OIDC_CLIENT_SCOPES: ${WEBFINGER_DESKTOP_OIDC_CLIENT_SCOPES:-${OC_OIDC_CLIENT_SCOPES}} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be empty. The product default is |
||
| PROXY_ROLE_ASSIGNMENT_DRIVER: "oidc" | ||
| OC_OIDC_ISSUER: ${IDP_ISSUER_URL:-https://keycloak.opencloud.test/realms/openCloud} | ||
| # This specifies to start all services except idm and idp. These are replaced by external services. | ||
|
|
@@ -45,6 +55,8 @@ services: | |
| WEB_OPTION_ACCOUNT_EDIT_LINK_HREF: ${IDP_ACCOUNT_URL} | ||
| ldap-server: | ||
| image: bitnamilegacy/openldap:2.6 | ||
| # Bitnami images require GID 0 to write to internal socket and PID directories | ||
| user: ${LDAP_UID_GID:-1000:0} | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what issue does this fix
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I owned the complete stack with my docker user, but the container isn't able to run rootless.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
looks like it will help those using rootless. i think you can consider decoupling this fix into a separate pr
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. please keep the scope of this PR small. That should be a different PR. |
||
| networks: | ||
| opencloud-net: | ||
| entrypoint: [ "/bin/sh", "/opt/bitnami/scripts/openldap/docker-entrypoint-override.sh", "/opt/bitnami/scripts/openldap/run.sh" ] | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this can be misunderstood as being a var you can activate by uncommenting
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it should be clear that the vars there are only available when you reference the dockerfile external-idp as mentioned above in this section
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All vars should default to empty