Introduction

Getting started

Walkthrough Guides

CafeX Apps

Workflows

Using CafeX Collaborate App

Reporting

Managing CafeX

Integrating CafeX

Security

App Studio

App Studio Components

How-tos

CafeX Apps

Setting Up Client Credentials

Modified on Wed, 23 Jul at 4:41 AM

TABLE OF CONTENTS


Client Credentials allow you to provide your own authentication details when accessing external data sources through the App.

 

Instead of assigning authentication keys directly to data sources or through environment variables, Client Credentials let each user provide their own authentication details, which are passed to the data source on a per-user basis.

 

Configuring the Data Source

To use Client Credentials with a data source, set up the data source to use placeholders that reference user-provided credentials. Use the appropriate placeholders based on the auth.type.
 

For OAUTH:

{
  "url": "https://yourURL",
  "auth": {
    "type": "OAUTH",
    "tokenUrl": "https://yourURL/authserver/token",
    "clientId": "{{ userCreds.clientId }}",
    "clientSecret": "{{ userCreds.clientSecret }}"
  }
}


This configuration allows each user to supply their own clientId and clientSecret, which are securely stored and retrieved from their profile when the App accesses the data source.


For AUTH_HEADERS:

{
  "url": "https://yourURL",
  "auth": {
    "type": "AUTH_HEADERS",
    "requestHeaders": [
      {
        "name": "headerName",
        "value": "{{ userCreds.token }}"
      }
    ]
  }
}


This configuration inserts the user’s saved token into a custom request header. Replace "headerName" with the actual header key. The platform retrieves the token from the user’s profile and injects it at runtime.



For BASIC:

{
  "url": "https://yourURL",
  "auth": {
    "type": "BASIC",
    "username": "{{ userCreds.username }}",
    "password": "{{ userCreds.password }}"
  }
}


This setup enables the App to authenticate with the user’s personal username and password, securely stored and passed to the data source as part of the request. 


Client Credentials Management

You can manage your credentials through two interfaces:

  • The User Credentials component
  • The Profile Settings

Both options let you enter and manage credentials and control which Apps can access them. The differences are:

  • User Credentials component provides a possibility to manage credentials for the current App.
  • Profile Settings offers control across all Apps and also allows users to delete stored credentials entirely.

     

Credential Management with the User Credentials Component

To manage your credentials for the data sources, add the User Credentials component (located under Components > Advanced). This component enables users to associate a username and password with a specific URL.

 

It displays the APIs that require authentication and allows you to:

  • Enter new credentials.
  • Grant permission to use credentials by selecting a credential.
  • Revoke access via the Remove Grant option.

Note: This component does not support credential deletion.


When a user provides credentials and grants access:

  1. The platform stores those credentials securely in the user’s profile.

  2. The user grants the app permission to use a specific set of credentials for a given URL.

  3. When the App later calls a data source that matches the URL, the platform retrieves and injects the user’s credentials.

 

Credential Management through Profile Settings

To manage which applications have access to your credentials:

  1. Navigate to Profile Settings > Applications with access to your credentials.
  2. Click Manage access and select the App.
  3. Here you can:
    1. Enter new credentials.


    2. Grant permission to use credentials (Enable option).
    3. Revoke permission to use credentials (Disable/Remove grant options).


    4. Delete stored credentials (Delete option).
       



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article