oCIS
Sign in to ownCloud Infinite Scale (oCIS) with Pocket ID.
ownCloud Infinite Scale (oCIS) is the new file sync and share platform that will be the foundation of your data management platform.
Replace ocis.example.com with the domain of your oCIS server and id.example.com with the domain of your Pocket ID server.
Create groups in Pocket ID
Section titled “Create groups in Pocket ID”- In Pocket ID, open Administration → User Groups and click Add Group for each of these four groups:
- Friendly Name
ocis admin users group, NameocisAdmin - Friendly Name
ocis space admin user group, NameocisSpaceAdmin - Friendly Name
ocis user group, NameocisUser - Friendly Name
ocis guest group, NameocisGuest
- Friendly Name
- On each group’s page, add a claim under Custom Claims with the key
rolesand the group’s name as the value, and save:ocisAdmingroup:roles=ocisAdminocisSpaceAdmingroup:roles=ocisSpaceAdminocisUsergroup:roles=ocisUserocisGuestgroup:roles=ocisGuest
- Add users to the groups: admin users to
ocisAdmin, space admin users toocisSpaceAdmin, standard users toocisUserand guests toocisGuest.
Create the client in Pocket ID
Section titled “Create the client in Pocket ID”- In Pocket ID, open Administration → OIDC Clients and click Add OIDC Client.
- Enter a name such as
oCIS, choose Public Client as the client type and add the callback URLs:https://ocis.example.com/https://ocis.example.com/oidc-callback.htmlhttps://ocis.example.com/oidc-silent-redirect.html - Click Create and copy the Client ID.
- On the client’s Access tab, select
ocisAdmin,ocisSpaceAdmin,ocisUserandocisGuestunder Allowed User Groups.
Configure oCIS
Section titled “Configure oCIS”Environment variables
Section titled “Environment variables”Set the following environment variables, with the Client ID from Pocket ID as WEB_OIDC_CLIENT_ID:
OCIS_URL=https://ocis.example.comPROXY_AUTOPROVISION_ACCOUNTS=truePROXY_ROLE_ASSIGNMENT_DRIVER=oidcOCIS_OIDC_ISSUER=https://id.example.comPROXY_OIDC_REWRITE_WELLKNOWN=trueWEB_OIDC_CLIENT_ID=<client-id>PROXY_USER_OIDC_CLAIM=preferred_usernameOCIS_EXCLUDE_RUN_SERVICES=idpPROXY_CSP_CONFIG_FILE_LOCATION=/etc/ocis/csp.yamlContent Security Policy
Section titled “Content Security Policy”For an example csp.yaml, see the oCIS Keycloak example.
Change the Pocket ID URL under connect-src (line 9 below) to your Pocket ID URL, and mount the file at /etc/ocis/csp.yaml in your Podman or Docker settings.
directives: child-src: - '''self''' connect-src: - '''self''' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' # In contrary to bash and docker the default is given after the | character - 'https://id.example.com/' default-src: - '''none''' font-src: - '''self''' frame-ancestors: - '''none''' frame-src: - '''self''' - 'blob:' - 'https://embed.diagrams.net/' img-src: - '''self''' - 'data:' - 'blob:' - 'https://raw.githubusercontent.com/owncloud/awesome-ocis/' manifest-src: - '''self''' media-src: - '''self''' object-src: - '''self''' - 'blob:' script-src: - '''self''' - '''unsafe-inline''' style-src: - '''self''' - '''unsafe-inline'''Create the desktop and mobile clients
Section titled “Create the desktop and mobile clients”The client IDs and secrets are hardcoded in the ownCloud desktop and mobile clients. You can find these values in the ownCloud documentation.
Pocket ID doesn’t support hardcoded client secrets. Because ownCloud implements the optional PKCE extension, you can create the desktop and mobile clients as public clients instead.
For each client below:
- In Pocket ID, open Administration → OIDC Clients and click Add OIDC Client.
- Enter the name and the callback URL from the list, and choose Public Client as the client type.
- Click Set custom client ID and enter the client ID from the list.
- Click Create.
- On the client’s Access tab, select
ocisAdmin,ocisSpaceAdmin,ocisUserandocisGuestunder Allowed User Groups.
The clients:
- Desktop client
- Name:
ownCloud Desktop Client - Callback URL:
http://127.0.0.1:* - Client ID:
xdXOt13JKxym1B1QcEncf2XDkLAexMBFwiT9j6EfhhHFJhs2KM9jbjTmf8JBXE69
- Name:
- iOS client
- Name:
ownCloud iOS Client - Callback URL:
oc://ios.owncloud.com - Client ID:
mxd5OQDk6es5LzOzRvidJNfXLUZS2oN3oUFeXPP8LpPrhx3UroJFduGEYIBOxkY1
- Name:
- Android client
- Name:
ownCloud Android Client - Callback URL:
oc://android.owncloud.com - Client ID:
e4rAsNUSIUs0lF4nbv9FmCeUkTlV9GdgTLDH1b5uie7syb90SzEVrbN7HIpmWJeD
- Name: