diff --git a/.drone.star b/.drone.star index b6b657009..a874f32be 100644 --- a/.drone.star +++ b/.drone.star @@ -68,6 +68,7 @@ config = { "services/groups", "services/idm", "services/idp", + "services/invitations", "services/nats", "services/notifications", "services/ocdav", diff --git a/Makefile b/Makefile index 056c7c57a..3f3d02c53 100644 --- a/Makefile +++ b/Makefile @@ -32,6 +32,7 @@ OCIS_MODULES = \ services/groups \ services/idm \ services/idp \ + services/invitations \ services/nats \ services/notifications \ services/ocdav \ diff --git a/docs/services/invitations/_index.md b/docs/services/invitations/_index.md new file mode 100644 index 000000000..718690bd0 --- /dev/null +++ b/docs/services/invitations/_index.md @@ -0,0 +1,16 @@ +--- +title: IDP +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/invitations +geekdocFilePath: _index.md +geekdocCollapseSection: true +--- + +## Abstract + +This service provides an invitations service to invite guests into the organization. + +## Table of Contents + +{{< toc-tree >}} diff --git a/docs/services/invitations/configuration.md b/docs/services/invitations/configuration.md new file mode 100644 index 000000000..3cc3dea0d --- /dev/null +++ b/docs/services/invitations/configuration.md @@ -0,0 +1,15 @@ +--- +title: Service Configuration +date: 2023-03-02T15:27:00+01:00 +weight: 20 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/services/invitations +geekdocFilePath: configuration.md +geekdocCollapseSection: true +--- + +## Example YAML Config + +{{< include file="services/_includes/invitations-config-example.yaml" language="yaml" >}} + +{{< include file="services/_includes/invitations_configvars.md" >}} \ No newline at end of file diff --git a/services/invitations/README.md b/services/invitations/README.md index 2042e7333..a40ff2483 100644 --- a/services/invitations/README.md +++ b/services/invitations/README.md @@ -4,4 +4,14 @@ The invitations service provides an [Invitation Manager](https://learn.microsoft Users invited via this Invitation Manager (libre graph API) will have `userType="Guest"`, whereas users belonging to the organization have `userType="Member"`. -The corresponding CS3 API [user types](https://cs3org.github.io/cs3apis/#cs3.identity.user.v1beta1.UserType) used to reperesent this are: `USER_TYPE_GUEST` and `USER_TYPE_PRIMARY`. \ No newline at end of file +The corresponding CS3 API [user types](https://cs3org.github.io/cs3apis/#cs3.identity.user.v1beta1.UserType) used to reperesent this are: `USER_TYPE_GUEST` and `USER_TYPE_PRIMARY`. + + +## Provisioning backends + +When oCIS is used for user management the users are created using the `/graph/v1.0/users` endpoint. For larger deployments the keycloak admin API can be used to provision users. We might even make the endpoint, credentials and body configurable using templates. + + +## Bridging provisioning delay + +When a guest account has to be provisioned in an external user management there might be a delay between creating the user and it being available in the local ocis system. In the first iteration the invitations service will only keep track of invites in memory. This list could be persisted in future iterations.