sling-authdeprecated

Sling AWS STS authentication module

Usage no npm install needed!

<script type="module">
  import slingAuth from 'https://cdn.skypack.dev/sling-auth';
</script>

README

Sling Authentication

Sling AWS STS authentication module

This module is used to turn credentials from the news AWS root account (311417952909) into usable credentials for a sling role.

Examples

Below examples of Sling Authentication API:

Get roles shortnames (#SlingAuth.getRoleShortnames({environment: 'environment'}))

This method returns an array of valid role shortnames for a environment. The shortname is required by other methods.

Example:

const SlingAuth = require('sling-auth');
SlingAuth.getRoleShortnames({environment: 'live'}); // Static method (SlingAuth isn't initalised)

Output:

=> ['neareast', 'news', 'southasia']

Get role credentials (#getRoleCredentials(options))

This method returns a Promise which is resolved with the role credentials. These credentials can then be used with Sling to upload, modify and delete files from S3, in locations that the role is permitted.

Example:

const SlingAuth = require('sling-auth');
const slingAuth = new SlingAuth();

const roleOptions = {
    environment: 'live',
    roleShortname: 'news',
    accessKeyId: 'AAAAAAA000AA111AAA',
    secretAccessKey: 'XxX3XXasdDss12/zzZzzZz1aaAaaaAAa'
};
slingAuth.getRoleCredentials().then((credentials) => {
    console.log(credentials);
}).catch((error) => {
    console.log(`Error: ${error}`);
});

Output:

{
    'AccessKeyId': 'roleKey',
    'SecretAccessKey': 'roleSecret',
    'SessionToken': 'roleSession',
    'Expiration': '2020-01-01T00:00:00.000Z'
}