Authentication overview

Webdam, a digital asset management (DAM) platform by Bynder, provides authentication mechanisms to secure programmatic access to its APIs and user interfaces. These mechanisms ensure that only authorized users and applications can interact with digital assets and metadata stored within the system. The primary methods for API access involve API keys for direct integration and OAuth 2.0 for delegated authorization, allowing third-party applications to access resources on behalf of a user without exposing user credentials.

Effective authentication is critical for maintaining the integrity and confidentiality of digital assets, especially in environments handling large volumes of sensitive brand content. Webdam's approach aligns with common industry practices for securing web services, enabling developers to build integrations that automate asset workflows, synchronize metadata, and extend the platform's capabilities securely.

Supported authentication methods

Webdam supports several authentication methods tailored for different integration scenarios, ranging from server-to-server communication to user-delegated access for client applications. The choice of method depends on the specific requirements of the integration, including the level of access needed and the application's architecture.

API Key Authentication

API key authentication is a straightforward method primarily used for server-to-server integrations where an application needs direct, consistent access to Webdam's API. An API key is a unique identifier provided by Webdam that acts as a secret token. When an API key is used, it is typically included in the header of each API request, allowing the Webdam API to verify the origin and authorization level of the request. This method is suitable for integrations such as custom scripts, backend services, or data synchronization tools that operate without direct user interaction.

OAuth 2.0

OAuth 2.0 is an authorization framework that allows third-party applications to obtain limited access to a user's resources in Webdam without exposing the user's credentials. This is particularly useful for client-side applications, mobile apps, or web applications that need to interact with Webdam on behalf of a user. OAuth 2.0 involves a series of steps where the user grants permission to an application, and in return, the application receives an access token. This token is then used to make authenticated API calls. Webdam's support for OAuth 2.0 facilitates secure and delegated access, adhering to a widely adopted industry standard for authorization, as outlined by the OAuth 2.0 framework specification.

Webdam Authentication Methods
Method When to Use Security Level
API Key Server-to-server integrations, backend services, scripting Moderate (requires secure storage of key)
OAuth 2.0 Third-party applications, client-side apps, delegated user access High (token-based, user-delegated, scope-controlled)

Getting your credentials

To integrate with Webdam, you must obtain the appropriate credentials based on your chosen authentication method. The process typically involves accessing the Webdam administrative interface or contacting Webdam support, as detailed in the Webdam Help Center.

For API Key Authentication

API keys are typically generated within the Webdam administrative settings. An administrator with appropriate permissions can navigate to the API integration section, generate a new API key, and assign it specific access rights or scopes. It is crucial to treat API keys as sensitive information, similar to passwords. Once generated, the key should be stored securely and never hardcoded directly into client-side code or publicly accessible repositories. Webdam's documentation provides specific steps for API key generation and management, which may vary slightly depending on your account configuration.

For OAuth 2.0

Implementing OAuth 2.0 requires registering your application with Webdam to obtain a Client ID and Client Secret. These credentials identify your application to Webdam's authorization server. The registration process usually involves providing details about your application, such as its name, description, and redirect URI(s). The redirect URI is where Webdam will send the user back after they authorize your application. The Client ID is a public identifier, while the Client Secret is a confidential key that must be kept secure. The Google Developers OAuth 2.0 guide provides a general overview of these concepts, which apply similarly to Webdam's implementation.

Authenticated request example

Once you have obtained your credentials, you can make authenticated requests to the Webdam API. The specifics of the request will depend on whether you are using an API key or an OAuth 2.0 access token.

API Key Example (HTTP Header)

For API key authentication, the key is typically passed in a custom HTTP header. Below is an example using curl to fetch asset information:

curl -X GET \
  'https://api.webdamdb.com/api/v2/assets' \
  -H 'Accept: application/json' \
  -H 'x-api-key: YOUR_WEB_DAM_API_KEY_HERE'

Replace YOUR_WEB_DAM_API_KEY_HERE with your actual API key. The x-api-key header is a common convention, but always consult the official Webdam API documentation for the exact header name and format.

OAuth 2.0 Example (Bearer Token)

With OAuth 2.0, after successfully completing the authorization flow and obtaining an access token, you would include it in the Authorization header using the Bearer scheme:

curl -X GET \
  'https://api.webdamdb.com/api/v2/assets' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN_HERE'

Here, YOUR_OAUTH_ACCESS_TOKEN_HERE should be replaced with the access token obtained through the OAuth 2.0 flow. This token typically has an expiration time, requiring your application to refresh it periodically using a refresh token, if provided.

Security best practices

Implementing strong security practices is essential when integrating with Webdam or any API. Adhering to these guidelines helps protect your credentials, sensitive data, and the overall integrity of your digital asset management system.

  • Secure Credential Storage: Never hardcode API keys or client secrets directly into your application's source code, especially for public repositories. Store them in environment variables, secure configuration files, or dedicated secret management services. For client-side applications, ensure client secrets are not exposed.
  • Use HTTPS: Always ensure all communication with the Webdam API occurs over HTTPS. This encrypts data in transit, protecting credentials and sensitive asset information from interception. Webdam's API endpoints are designed to enforce HTTPS.
  • Least Privilege Principle: Grant API keys and OAuth 2.0 applications only the minimum necessary permissions required to perform their intended functions. Regularly review and adjust these permissions as your integration's needs evolve.
  • Rotate Credentials: Periodically rotate API keys and client secrets. This practice limits the window of opportunity for attackers if a credential is compromised. Establish a schedule for regular rotation, such as every 90 days.
  • Error Handling and Logging: Implement robust error handling for authentication failures and log relevant events without exposing sensitive information. Monitor these logs for unusual activity or repeated failed authentication attempts, which could indicate a security incident.
  • Validate Redirect URIs (OAuth 2.0): For OAuth 2.0, ensure that your registered redirect URIs are specific and secure. Only allow redirects to URIs that you control and are configured to handle authorization codes securely.
  • Token Expiration and Refresh (OAuth 2.0): Design your application to handle access token expiration gracefully. Use refresh tokens (if provided by Webdam) to obtain new access tokens without requiring the user to re-authenticate, but ensure refresh tokens are also securely stored and managed.
  • Rate Limiting: Be aware of and respect any rate limits imposed by the Webdam API. Excessive requests can lead to temporary blocks, which, while not a direct security measure, can impact the availability of your integration.