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

Autoprovisioning documentation #912

Merged
merged 3 commits into from
Aug 12, 2024
Merged

Conversation

mmattel
Copy link
Contributor

@mmattel mmattel commented Jul 16, 2024

Fixes:
#888 (Autoprovisioning envvars documentation)
#885 (Update proxy service to manage autoprovisioning group memberships)

Add a proxy service documentation about Automatic User and Group Provisioning

No backport.

@mmattel mmattel added the documentation Improvements or additions to documentation label Jul 16, 2024

* Infinite Scale must be configured to use an external OpenID Connect IDP.
* The `graph` service must be configured to allow updating users and groups (`GRAPH_LDAP_SERVER_WRITE_ENABLED`).
* The IDP must return a unique value in the user's claims (as part of the userinfo response and/or the access tokens) that can be used to identify the user. This claim needs to be stable and cannot be changed for the whole lifetime of the user. That means, if a claim like `email` or `preferred_username` is used, you must ensure that the user's email address or username never changes.
Copy link
Contributor

Choose a reason for hiding this comment

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

you must ensure that the user's email address or username never changes.

Later you state:

If the user does already exist, the proxy will check if the user's email or displayname has changed and updates those accordingly via graph service.

So what is it now? Do I need to take care the email never changes or will it be updated automatically?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The text is taken from owncloud/ocis#9458 which was created by @rhafer ...
If a fix is needed, we also need to do that in the ocis repo proxy service readme...

Copy link
Contributor

Choose a reason for hiding this comment

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

As I understand it, the "claim" can be set to one of various data items. The selected data item then has to be a unique and unchanging "key" for the user. So, if email is selected, then the email address is the unique thing that identifies each user, and so changing the email address in the IDP is going to "lose" the user in ocis. But if some other data item is used as the "claim" unique identifier for the user, the the email address is just a piece of data about the user, and can change.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The discussion shows that the text is not clear and must be fixed. I have filed an issue in the ocis repo.

modules/ROOT/pages/deployment/services/s-list/proxy.adoc Outdated Show resolved Hide resolved
modules/ROOT/pages/deployment/services/s-list/proxy.adoc Outdated Show resolved Hide resolved

* Infinite Scale must be configured to use an external OpenID Connect IDP.
* The `graph` service must be configured to allow updating users and groups (`GRAPH_LDAP_SERVER_WRITE_ENABLED`).
* The IDP must return a unique value in the user's claims (as part of the userinfo response and/or the access tokens) that can be used to identify the user. This claim needs to be stable and cannot be changed for the whole lifetime of the user. That means, if a claim like `email` or `preferred_username` is used, you must ensure that the user's email address or username never changes.
Copy link
Contributor

Choose a reason for hiding this comment

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

As I understand it, the "claim" can be set to one of various data items. The selected data item then has to be a unique and unchanging "key" for the user. So, if email is selected, then the email address is the unique thing that identifies each user, and so changing the email address in the IDP is going to "lose" the user in ocis. But if some other data item is used as the "claim" unique identifier for the user, the the email address is just a piece of data about the user, and can change.

@mmattel mmattel force-pushed the Automatic_User_and_Group_Provisioning branch from f71869d to cd7bea9 Compare August 12, 2024 07:48
@mmattel mmattel merged commit 9826799 into master Aug 12, 2024
1 check passed
@mmattel mmattel deleted the Automatic_User_and_Group_Provisioning branch August 12, 2024 08:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants