Score Integration

Song interacts with a required companion application, Score, which manages file transfers and object storage. Please note that although both services are needed, there is no necessary order of installation required. For detailed instructions and best practices for setting up and configuring the Score server refer to our Score Documentation.

Environment Variable Setup

We need to configure Song to connect with a Score server. This connection is established by modifying your .env.song file. The required changes include specifying the SCORE_ACCESS_TOKEN and SCORE_URL fields as illustrated below:

bash
# Score Server Configuration
SCORE_ACCESS_TOKEN=ad83ebde-a55c-11e7-abc4-cec278b6b50a
SCORE_URL=http://localhost:8087

The table below summarizes the variables you need to set:

SettingRequirementDescription
SCORE_ACCESS_TOKENRequiredAn API Key with both READ and WRITE permission scopes generated by your OAuth Provider
SCORE_URLRequiredThe URL of the Score server API. Song will use this API for all communications with the Score server.

Score Client Credentials

The Score client credentials are optional and provide a way to authenticate through a JWT instead of an API Key. If these configurations are enabled, the default settings defined under score will be overwritten.

bash
# Score Client Credentials
SPRING_PROFILES_ACTIVE=score-client-cred
SCORE_CLIENTCREDENTIALS_ID={{client-id}}
SCORE_CLIENTCREDENTIALS_SECRET={{client-secret}}
SCORE_CLIENTCREDENTIALS_TOKENURL=http://ego-api:8080/oauth/token
SCORE_CLIENTCREDENTIALS_SYSTEMSCOPE=score.WRITE

Make sure to replace placeholders like {{client-id}} or {{client-secret}} with your actual values.