Asset Events Configuration
To configure Asset Events, refer to Add Events, keeping in mind the following amendments to the Add Events and Credentials sections:
Add Events Section
When you get to the step about the Add events dialog, refer to Asset Events Providers for additional guidance.
Credentials Section
For Asset Events providers, you have the option of selecting which type of authentication to use, either Server-to-Server Authentication (OAuth Server-to-Server) or User Authentication (OAuth).
Server-to-Server Authentication (OAuth Server-to-Server)
OAuth server-to-server authentication credentials allow your application to generate access tokens and make API calls on behalf of your application itself.
Note that your application using a Service Account integration will be receiving all events generated within your organization. As a consequence your application will be responsible to not disclose information about assets, libraries, and cloud documents to users who are not intended to know about those assets. In particular, your application must ensure that no user sees events refering to assets, libraries, and cloud documents to which the user does not have at least read access.
User Authentication (OAuth)
OAuth allows your end users to sign in to your integration with an Adobe ID. With an OAuth token, your integration will be able to access Adobe services or content on behalf of the logged-in user.
Note that your application using end user based integration will be receiving events generated within your organization personalized to the users using your application. That is all events will be tagged with the user ID of the intended recipient user and only events for assets, libraries, and cloud documents (read) accessible to the recipient user will be forwarded to your application. As a consequence your application will be responsible to only make events available to the user tagged in the event itself.
Receiving events for users
Once your integration is set up, and your webhook is in place; to receive events, your integration needs to connect to its event provider on behalf of its user. This requires authentication; see OAuth Integration.
Depending on your scenario and the Adobe service you're targeting, you may have to enable different types of authentication; see the Adobe I/O Authentication Overview for more information on how to set up your app for authentication with your users.
For example for Creative Cloud Libraries
events, you will need to add the Creative Cloud Libraries as a service, then use the OAuth 2.0 protocol to build an interface for your user to log into your app, and give your app authorization to access Creative Cloud Assets. Once your app is authenticated, Adobe will begin to push events to your integration's webhook via HTTP POST messages.
Follow adding an API that uses OAuth to a Console project guide, and select Creative Cloud Libraries from the list of available APIs.
Adobe Consent API
To authenticate your app to receive events on your users' behalf (and for development purposes), you must provide consent via the Adobe Consent API:
Copied to your clipboardhttps://ims-na1.adobelogin.com/ims/authorize/v1?response_type=code&client_id=api_key_from_console&scope=AdobeID,openid,creative_sdk
You will need to replace api_key_from_console
with the Client ID value provided on the Credentials tab of the Registration Details in your Console project.
A good utility for testing this process is the Adobe IMS OAuth Playground. Follow instructions in the FAQ.
Once all of the above steps are completed, try logging into Creative Cloud Assets using the same Adobe ID as the one you used for Adobe Developer Console
and create a library. If all went well, then a cc_library_created
event will be successfully delivered to your webhook.