Skip to content
This repository was archived by the owner on Sep 4, 2024. It is now read-only.

Cox-Automotive/alks-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ALKS Node Client

NPM

Build Status

About

Node client for interfacting with ALKS services.

Usage

var alks = require('alks-node');

Utilities

getDurations()

Returns array of valid session durations.

alks.getDurations();

Methods

createKey(account, password, duration, options, callback)

Creates a new session key with the provided information. Returns a JSON document.

var data = {
    alksAccount: 'alksAccount',
    alksRole: 'alksRole',
    sessionTime: 2,
    server: 'endpoint',
    userid: 'my-network-id',
    password: 'my-network-password'
};

alks.createKey(data, 'password', 2, {}, function(err, key){
    if(err) console.error(err);
    else console.log(JSON.stringify(key));
});

getAccounts(server, userid, password, options, callback)

Returns a collection of accounts.

alks.getAccounts('server', 'username', 'password', {}, function(err, accounts){
    if(err) console.error(err);
    else console.log(JSON.stringify(accounts));
});

generateConsoleUrl(key, options, callback)

Returns a AWS console URL for a given key. The URL is good for 15 minutes.

alks.generateConsoleUrl(alksKey, {}, function(err, url){
    if(err) console.error(err);
    else console.log('The console URL is: %s', url);
});

getIamRoleTypes(server, userid, password, options, callback)

Returns a list of current IAM role types.

createIamKey(account, password, options, callback)

Generates a new session for use in creating IAM roles and console sessions.

createIamRole(account, password, roleName, roleType, includeDefaultPolicies, options, callback)

Creates a new IAM role, provided account must contain valid ALKS IAM session.

createIamTrustRole(account, password, roleName, roleType, trustArn, options, callback)

Creates a new IAM trust role, provided account must contain valid ALKS IAM session.

deleteIamRole(account, password, roleName, options, callback)

Deletes a previously created IAM role, provided account must contain valid ALKS IAM session.

createLongTermKey(account, password, iamUserName, options, callback)

Creates a new longterm access key with the provided information. Returns a JSON document.

var data = {
    alksAccount: 'alksAccount',
    alksRole: 'alksRole',
    server: 'endpoint',
    userid: 'my-network-id',
    password: 'my-network-password'
};

alks.createLongTermKey(data, 'password', 'iamUser', {}, function(err, ltk){
    if(err) console.error(err);
    else console.log(JSON.stringify(ltk));
});

deleteLongTermKey(account, password, iamUserName, options, callback)

Deletes a previously created longterm key role, provided account must contain valid ALKS IAM session.

var data = {
    alksAccount: 'alksAccount',
    alksRole: 'alksRole',
    server: 'endpoint',
    userid: 'my-network-id',
    password: 'my-network-password'
};

alks.deleteLongTermKey(data, 'password', 'iamUser', {}, function(err, ltk){
    if(err) console.error(err);
    else console.log(JSON.stringify(ltk));
});

refreshTokenToAccessToken(token, options, callback)

Exchanges a 2FA refresh token for an access token.

var data = {
    alksAccount: 'alksAccount',
    server: 'endpoint'
};

alks.refreshTokenToAccessToken('bLGjhD2HVh5x4TZfWoXF5aGxDRD3afnlONBxsjN7g8U', data, {}, function(err, ltk){
    if(err) console.error(err);
    else console.log(JSON.stringify(ltk));
});

About

ALKS Node Client

Topics

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
COPYING

Stars

Watchers

Forks

Packages

No packages published

Contributors 6