Taskcluster - Authentication Server
The taskcluster authentication server manages permissions and credentials in the taskcluster eco-system. Identifiers, credentials and authorized scopes will be stored in azure table storage, and various components will be granted read-only access in-order to authorize requests.
On the client side, an authorized client must have a
CLIENT_ID and an
ACCESS_TOKEN to be used with hawk for making requests.
On the server side,
CLIENT_IDs will resolve to
ACCESS_TOKEN for HMAC
validation and a set of scopes, which will be used to determine what resources
the client is authorized to access.
Service Owner: firstname.lastname@example.org
If you deploy a copy of this application that fails to start, all of Taskcluster will come to a screeching halt immediately. Don't do that.
This app auto-deploys from Github to the staging environment, which uses a different Azure backend.
Happily, there's a nice, automated way of testing that staging environment
before promoting it to production. First, if you haven't already, run
checkStagingSetup and copy-paste the results into your
Note that you will need Heroku app access to do this! Once your config is set
up, just run
npm run checkStaging to check the staging site for
To hack on this service, you can begin by cloning the repository and running
yarn --frozen-lockfile to install its dependencies.
yarn test to run the test suite.
It should pass, although some tests will be skipped.
If you are not modifing functionality tested by the skipped tests you're ready to get started: write some tests for the new functionality, then implement it!
If you are modifying something requiring credentials, you may need to set up credentials.
To do so, copy
user-config.yml and fill in the necessary credentials based on the comments in that file.
Taskcluster team members can provide you with some testing-only credentials -- just ask, and provide a GPG key (use https://keybase.io if you don't have one).
You can get your own pulse credentials at https://pulseguardian.mozilla.org.
The taskcluster team has a series of best practices which may help guide you in modifying the source code and making a pull request.