Skip to content

Hosted Service Onboarding

Csaky edited this page Jul 17, 2023 · 7 revisions

The COMS API is available as a hosted service for BC Government client applications.

Details of the Hosted COMS service:

  • Authentication: Requests to COMS API requests must be authorized using a User ID token (OAuth JWT) issued in the Pathfinder SSO 'Standard' realm. Typically a user wwould sign-in to your app (website) and your app would call COMS with that user's JWT.

Basic Auth or authentication using a service-account (eg: client credentials) is currently not available on the Hosted COMS service. This is a feature if you are self-hosting.

  • Bucket Provission: Object Storage buckets must be obtained by the client. Any S3 compatible bucket will work (for example: AWS S3 and Minio). OCIO provide a low-cost object Storage service. NRM clients can request a bucket through the Otimization Team.

Once provisioned, you can add your bucket to COMS using the createBucket endpoint. See: Managing Buckets.

  • A Synchronization feature is coming soon that will allow COMS to manage objects that were in the bucket or are handled outside of the COMS API.

  • The stricter Privacy Controls setting is enabled in the Hosted service (requires READ permission on bucket or object to discover or access the file and related data).

  • Bucket credentials (Access Key ID and Secret Access Key) are stored in the database as encrpted strings. Encryption is done by NodeJS's internal crypto library. The key for encrption is assigned to a SERVER_PASSPHRASE environment variable, and is only available inside the scope of the COMS app container.

  • BCBox Integration: Using the Hosted COMS service has the added benefit of being able to integrate your application with BCBox - a hosted drop-box type interface for sharing files.

  • Environments: As part of your development workflow, ensure your application is using the correct COMS environment. COMS only accepts JWT's issued in the corresponding SSO standard realm.

COMS environments:

Note: see the Hosting Considerations page for a comparison. For more custom feature requirements, consider self-hosting COMS in your own infrastructure.

For basic features, see the General Use page and Endpoint Notes.