oCIS
Set up ownCloud Infinite Scale with Pocket ID
What is oCIS
ownCloud Infinite Scale (oCIS) is the new file sync & share platform that will be the foundation of your data management platform.
Preparation
ocis.company.comis the FQDN of the ocis server.pocket-id.company.comis the FQDN of the pocket-id server.[!NOTE] This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application.
Pocket ID configuration
To support the integration of oCIS with Pocket ID, you need to create a OIDC Client in Pocket ID.
Create the groups used by oCIS in Pocket ID
- Log in to Pocket ID as an admin
- Navigate to User Groups and click Add Group (repeat for each group - 4 times)
- Friendly Name:
ocis admin users groupName:ocisAdmin - Friendly Name:
ocis space admin user groupName:ocisSpaceAdmin - Friendly Name:
ocis user groupName:ocisUser - Friendly Name:
ocis guest groupName:ocisGuest
- Friendly Name:
Bind roles used by oCIS with Pocket ID groups
- Log in to Pocket ID as an admin
- Navigate to User Groups
- Click the 3 dots
...on the side of ocisAdmin, ocisSpaceAdmin, ocisUser and ocisGuest and press edit (do per group)..- Add
rolesandocisAdminto Custom Claims and clickSavein ocisAdmin group. Add admin users to this group under Users. - Add
rolesandocisSpaceAdminto Custom Claims and clickSavein ocisSpaceAdmin group. Add the space admin users to this group under Users. - Add
rolesandocisUserto Custom Claims and clickSavein ocisUser group. Add standard users to this group under Users. - Add
rolesandocisGuestto Custom Claims and clickSavein ocisGuest group. Add guests to this group under Users.
- Add
Create an OIDC Client
- Log in to Pocket ID as an admin
- Navigate to OIDC Clients and click Add OIDC Client
- Name: ocis
- Callback URLs:
https://ocis.company.com/
https://ocis.company.com/oidc-callback.html
https://ocis.company.com/oidc-silent-redirect.html - Public Client: [x]
Click Save
Add groups to Pocket ID
Log in to Pocket ID as an admin
Navigate to OIDC Clients and click edit ocis
- ocisAdmin
- ocisSpaceAdmin
- ocisUser
- ocisGuest
Copy the Client ID
Click Save
oCIS configuration
Environment Variables for oCIS and OIDC with Pocket ID
Add your client id from Pocket ID to WEB_OIDC_CLIENT_ID=
example of csp.yaml see https://github.com/owncloud/ocis/blob/master/deployments/examples/ocis_keycloak/config/ocis/csp.yaml
change line 9 (pocket-id.company.com) under connect-src to your Pocket ID URL and mount it to /etc/ocis/csp.yaml in your podman or docker settings.
Create additional OIDC clients for ownCloud desktop and mobile clients:
The Client IDs and secrets are hardcoded in the ownCloud desktop and mobile clients. You can find these values here.
Hardcoded Client secrets are not supported in Pocket ID. Given ownCloud have implemented the optional PKCE extension, a workaround is to instead create the ownCloud desktop and mobile clients as public clients.
- Log in to Pocket ID as an admin
- Navigate to OIDC Clients and click Add OIDC Client
Desktop Client
Name:
ownCloud Desktop Client
Client ID:xdXOt13JKxym1B1QcEncf2XDkLAexMBFwiT9j6EfhhHFJhs2KM9jbjTmf8JBXE69
Callback URLs:http://127.0.0.1:*
Public Client: [x]ocis iOS Client
Name:
ownCloud iOS Client
Client ID:mxd5OQDk6es5LzOzRvidJNfXLUZS2oN3oUFeXPP8LpPrhx3UroJFduGEYIBOxkY1
Callback URLs:oc://ios.owncloud.com
Public Client: [x]ocis Android Client
Name:
ownCloud Android Client
Client ID:e4rAsNUSIUs0lF4nbv9FmCeUkTlV9GdgTLDH1b5uie7syb90SzEVrbN7HIpmWJeD
Callback URLs:oc://android.owncloud.com
Public Client: [x]