4.0.0 • Published 5 years ago

@datafire/n_auth v4.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

@datafire/n_auth

Client library for nextAuth API

Installation and Usage

npm install --save @datafire/n_auth
let n_auth = require('@datafire/n_auth').create({
  api_key: "",
  role_id: ""
});

.then(data => {
  console.log(data);
});

Description

API for the nextAuth server

Actions

getApiKeys

Get all API keys generated by the current role. Required permission: global 'servers'.

n_auth.getApiKeys(null, context)

Input

This action has no parameters

Output

createApiKey

Create a new API key. Required permission: global 'servers'.

n_auth.createApiKey({
  "description": ""
}, context)

Input

  • input object
    • description required string: Description for the new role

Output

deleteGlobalAttributes

Delete all global attributes. Required permission: global 'servers'.

n_auth.deleteGlobalAttributes(null, context)

Input

This action has no parameters

Output

Output schema unknown

getGlobalAttributes

Returns an array containing all global attributes. Required permission: global 'servers'.

n_auth.getGlobalAttributes(null, context)

Input

This action has no parameters

Output

  • output string

setGlobalAttributes

Set the global attributes. Prior attributes with keys that are not provided in the body of the request will be deleted. Required permission: global 'servers'.

n_auth.setGlobalAttributes({
  "attributes": {}
}, context)

Input

  • input object
    • attributes required object

Output

Output schema unknown

updateGlobalAttributes

Update the specified global attributes. Prior attributes with keys that are not provided in the body of the request will not be deleted. Required permission: 'servers'.

n_auth.updateGlobalAttributes({
  "attributes": {}
}, context)

Input

  • input object
    • attributes required object

Output

Output schema unknown

deleteGlobalAttribute

Delete global attribute with the specified key. Required: global 'servers'.

n_auth.deleteGlobalAttribute({
  "attributekey": ""
}, context)

Input

  • input object
    • attributekey required string: Key of the attribute

Output

Output schema unknown

getServers

List all the servers you have the permissions for. Required permission: 'servers'.

n_auth.getServers({}, context)

Input

  • input object
    • limit integer: Limit the number of results
    • marker integer: Offset in the result list

Output

createServer

Create a new server. Required permission: global 'createserver'.

n_auth.createServer({
  "createServerBody": null
}, context)

Input

  • input object
    • createServerBody required Server

Output

getServer

Returns the configuration of a specific server. Required permission: 'servers' or 'createserver'.

n_auth.getServer({
  "serverid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id

Output

updateServer

Update the configuration of a specific server. Required permission: 'createserver'.

n_auth.updateServer({
  "serverid": "",
  "server": null
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • server required Server

Output

getAllAccounts

Returns all account. Required permission 'accounts'.

n_auth.getAllAccounts({
  "serverid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • filter string: Filter users based on an attribute. Takes the format attributename=attributevalue. You can filter for multiple values at once, e.g. group=in:group1,group2
    • limit integer: Limit the number of results
    • marker integer: Offset in the result list
    • sort string: Sort the results by column. You can also specify ascending (default if not specified) or descending, e.g., column:asc . You can also sort by multiple columns, e.g., column1:desc,column2:asc

Output

deleteAccount

Delete an account. Required permission: 'accounts'.

n_auth.deleteAccount({
  "serverid": "",
  "accountid": 0
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • accountid required integer: Account id

Output

Output schema unknown

getAccount

Returns the account. Required permission: 'sessions' or 'accounts'.

n_auth.getAccount({
  "serverid": "",
  "accountid": 0
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • accountid required integer: Account id

Output

updateAccount

Update an account. The only available change is (un)blocking the account. Required permission: 'accounts'.

n_auth.updateAccount({
  "serverid": "",
  "accountid": 0,
  "blocked": true
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • accountid required integer: Account id
    • blocked required boolean: True if the account is blocked

Output

provokeLoginOnAccount

Push a login to the nextAuth app for the user to confirm, based on the given account (app instance). Required permission: 'sessions' or 'accounts'.

n_auth.provokeLoginOnAccount({
  "serverid": "",
  "X-nonce": "",
  "accountid": 0
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Base64 encoded nonce to identify the browser/webserver session
    • accountid required integer: Account id
    • userContext UserContext

Output

Output schema unknown

updateAccountUser

Update the user of the given account. Required permission: 'accounts'.

n_auth.updateAccountUser({
  "serverid": "",
  "accountid": 0,
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • accountid required integer: Account id
    • userid required string: User name

Output

deleteServerAttributes

Delete all attributes of a specific server. Required permission: 'servers'.

n_auth.deleteServerAttributes({
  "serverid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id

Output

Output schema unknown

getServerAttributes

Returns an array containing all attributes corresponding to this server. Required permission: 'servers'.

n_auth.getServerAttributes({
  "serverid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id

Output

  • output string

setServerAttributes

Set the attributes of a specific server. Prior attributes with keys that are not provided in the body of the request will be deleted. Required permission: 'servers'.

n_auth.setServerAttributes({
  "serverid": "",
  "attributes": {}
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • attributes required object

Output

Output schema unknown

updateServerAttributes

Update the specified attributes of a specific server. Prior attributes with keys that are not provided in the body of the request will not be deleted. Required permission: 'servers'.

n_auth.updateServerAttributes({
  "serverid": "",
  "attributes": {}
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • attributes required object

Output

Output schema unknown

deleteServerAttribute

Delete attribute with the specified key of a specific server. Required permission: 'servers'.

n_auth.deleteServerAttribute({
  "serverid": "",
  "attributekey": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • attributekey required string: Key of the attribute

Output

Output schema unknown

getAllPermissions

Returns all permissions. Required permission: 'servers'.

n_auth.getAllPermissions({
  "serverid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id

Output

revokePermissions

Revoke all permissions for the specified server and role. Required permission: 'root'.

n_auth.revokePermissions({
  "serverid": "",
  "roleid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • roleid required string: Base64 encoded role id

Output

Output schema unknown

getPermissions

Returns all permissions. Required permission: 'servers'.

n_auth.getPermissions({
  "serverid": "",
  "roleid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • roleid required string: Base64 encoded role id

Output

grantPermissions

Set new permissions for the specified role on a server. This overwrites any existing permissions on this server for the specified role. Required permission: 'root'.

n_auth.grantPermissions({
  "serverid": "",
  "roleid": "",
  "permissions": []
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • roleid required string: Base64 encoded role id
    • permissions required array
      • items string

Output

Output schema unknown

deleteServerPrivilegedAttributes

Delete all privileged attributes of a specific server. Required permission: global 'servers'.

n_auth.deleteServerPrivilegedAttributes({
  "serverid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id

Output

Output schema unknown

getServerPrivilegedAttributes

Returns an array containing all privileged attributes corresponding to this server. Required permission: global 'servers'.

n_auth.getServerPrivilegedAttributes({
  "serverid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id

Output

  • output string

setServerPrivilegedAttributes

Set the privileged attributes of a specific server. Prior attributes with keys that are not provided in the body of the request will be deleted. Required permission: global 'servers'.

n_auth.setServerPrivilegedAttributes({
  "serverid": "",
  "attributes": {}
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • attributes required object

Output

Output schema unknown

updateServerPrivilegedAttributes

Update the specified privileged attributes of a specific server. Prior privileged attributes with keys that are not provided in the body of the request will not be deleted. Required permission: global 'servers'.

n_auth.updateServerPrivilegedAttributes({
  "serverid": "",
  "attributes": {}
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • attributes required object

Output

Output schema unknown

deleteServerPrivilegedAttribute

Delete privileged attribute with the specified key of a specific server. Required permission: global 'servers'.

n_auth.deleteServerPrivilegedAttribute({
  "serverid": "",
  "attributekey": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • attributekey required string: Key of the attribute

Output

Output schema unknown

getSession

Based on the browser/webserver session identifier, check if the user is logged in and return the associated username. This also returns additional information: the data for the login qr code and whether or not a loggin can be provoked directly from the server. Required permission: 'sessions'.

n_auth.getSession({
  "serverid": "",
  "X-nonce": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session

Output

getHtmlEnrol

Generate HTML to enrol a new user. Required permission: 'sessions'.

n_auth.getHtmlEnrol({
  "serverid": "",
  "X-nonce": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session
    • name string: Name to forward to the nextAuth app for this account
    • userid string: User name to register this user under

Output

  • output string

getHtmlFooter

HTML to add to footer of HTML page. Required permission: 'sessions'.

n_auth.getHtmlFooter({
  "serverid": "",
  "X-nonce": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session
    • HtmlFooterBody HtmlFooterBody

Output

  • output string

getHtmlLogin

Generate HTML for the login block. Required permission: 'sessions'.

n_auth.getHtmlLogin({
  "serverid": "",
  "X-nonce": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session
    • userContext UserContext

Output

  • output string

logout

Force a logout on the given session. Required permission: 'sessions'.

n_auth.logout({
  "serverid": "",
  "X-nonce": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session

Output

Output schema unknown

provokeLogin

Push a login to the nextAuth app for the user to confirm, based on last account that successfully logged in for the given session. Required permission: 'sessions'.

n_auth.provokeLogin({
  "serverid": "",
  "X-nonce": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session
    • userContext UserContext

Output

Output schema unknown

getQrEnrol

Returns the data for an enrol qr code. Required permission: 'sessions'.

n_auth.getQrEnrol({
  "serverid": "",
  "X-nonce": "",
  "name": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session
    • name required string: Name to forward to the nextAuth app for this account
    • userid string: User name to register this user under
    • img string: 'png' for a PNG image, not set for raw data in the qr code
    • s integer: size in pixels of the qr code, defaults to 500

Output

  • output file

getQrLogin

Returns the data for a login qr code. Required permission: 'sessions'.

n_auth.getQrLogin({
  "serverid": "",
  "X-nonce": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session
    • img string: "png" for a PNG image, not set for raw data in the qr code
    • s integer: size in pixels of the qr code, defaults to 500
    • userContext UserContext

Output

  • output file

registerUser

Register a user for the currently logged in account. You can also directly pass a user name when generating an ENROL qr code. Required permission: 'users'.

n_auth.registerUser({
  "serverid": "",
  "X-nonce": "",
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session
    • userid required string: Username to register

Output

Output schema unknown

createTransaction

Create a transaction for approval within the current session. Required permission: 'sessions'.

n_auth.createTransaction({
  "serverid": "",
  "X-nonce": "",
  "msg": null
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session
    • msg required Transaction

Output

getTransactionResult

Get transaction result for a given transaction id. Required permission: 'sessions'.

n_auth.getTransactionResult({
  "serverid": "",
  "transactionid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • transactionid required string: Base64 encoded transaction id

Output

getUsers

Returns an array of arrays containing all accounts corresponding to all users. Required permission: 'users'.

n_auth.getUsers({
  "serverid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • filter string: Filter users based on an attribute. Takes the format attributename=attributevalue. You can filter for multiple values at once, e.g. group=in:group1,group2
    • search string: Search for a username LIKE %search%
    • limit integer: Limit the number of results
    • marker integer: Offset in the result list
    • sort string: Sort the results by column. You can also specify ascending (default if not specified) or descending, e.g., column:asc . You can also sort by multiple columns, e.g., column1:desc,column2:asc

Output

deleteUser

Delete a user. Required permission: 'users'.

n_auth.deleteUser({
  "serverid": "",
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name

Output

Output schema unknown

deleteUserAccounts

Delete all accounts corresponding to this user. The user itself is not deleted. Required permission: 'accounts' or 'users'.

n_auth.deleteUserAccounts({
  "serverid": "",
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name

Output

Output schema unknown

getUser

Returns an array containing all accounts corresponding to this user. Required permission: 'sessions' or 'users'.

n_auth.getUser({
  "serverid": "",
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name
    • limit integer: Limit the number of results
    • marker integer: Offset in the result list
    • sort string: Sort the results by column. You can also specify ascending (default if not specified) or descending, e.g., column:asc . You can also sort by multiple columns, e.g., column1:desc,column2:asc

Output

deleteUserAttributes

Delete all attributes of a specific user. Required permission: 'users'.

n_auth.deleteUserAttributes({
  "serverid": "",
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name

Output

Output schema unknown

getUserAttributes

Returns an array containing all attributes corresponding to this user. Required permission: 'sessions' or 'users'.

n_auth.getUserAttributes({
  "serverid": "",
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name

Output

  • output string

setUserAttributes

Set the attributes of a specific user. Prior attributes with keys that are not provided in the body of the request will be deleted. Creates the user if not exists. Required permission: 'users'.

n_auth.setUserAttributes({
  "serverid": "",
  "userid": "",
  "attributes": {}
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name
    • attributes required object

Output

Output schema unknown

updateUserAttributes

Update the specified attributes of a specific user. Prior attributes with keys that are not provided in the body of the request will not be deleted. Required permission: 'users'.

n_auth.updateUserAttributes({
  "serverid": "",
  "userid": "",
  "attributes": {}
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name
    • attributes required object

Output

Output schema unknown

deleteUserAttribute

Delete attribute with the specified key of a specific user. Required permission: 'users'.

n_auth.deleteUserAttribute({
  "serverid": "",
  "userid": "",
  "attributekey": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name
    • attributekey required string: Key of the attribute

Output

Output schema unknown

provokeLoginOnUser

Push a login to the nextAuth app for the user to confirm, based on the given userid. Required permission: 'sessions' or 'users'.

n_auth.provokeLoginOnUser({
  "serverid": "",
  "X-nonce": "",
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • X-nonce required string: Nonce to identify the browser/webserver session
    • userid required string: User name
    • userContext UserContext

Output

Output schema unknown

getUserRole

Get role for a specific user. Required permission: 'users'.

n_auth.getUserRole({
  "serverid": "",
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name

Output

getOrCreateUserRole

Get or create a role for a specific user. Required permission: 'users'.

n_auth.getOrCreateUserRole({
  "serverid": "",
  "userid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id
    • userid required string: User name

Output

  • output object
    • role string

getServerVash

Returns a PNG of the visual hash corresponding to this server. This visual hash is used during the registration process (optional), for the user to verify that (s)he is registering with the right server in the nextAuth app. For single-server nextAuth-enabled apps (white label or mobile SDK), the public key of the server is typically pinned within the app and hence this visual hash is not displayed to the user. Required permission: 'sessions' or 'servers'.

n_auth.getServerVash({
  "serverid": ""
}, context)

Input

  • input object
    • serverid required string: Base64 encoded server id

Output

  • output file

Definitions

Account

  • Account object
    • blocked boolean: True if the account is blocked, false otherwise
    • clientVersion string: Version nextAuth client in the app
    • created integer: Timestamp of creation
    • description required string: Description of the account (e.g. device name)
    • id required integer: Account id
    • lastlogin integer: Timestamp of last login
    • lastprovoke integer: Timestamp of last provoke (push message)
    • userid string: User name

Accounts

  • Accounts object
    • accounts required array: Array of accounts
    • totalnumber integer: total number of accounts

ApiKey

  • ApiKey object
    • apikey string: API key
    • description string: Description
    • role string: Role id

ApiKeys

  • ApiKeys object
    • apikeys required array: Array of apikeys

HtmlFooterBody

LoginStatus

  • LoginStatus object
    • accountid integer: Account id
    • canprovoke boolean: True if a login can be pushed from the server, false otherwise
    • hsid string: Converted session id, used by the websockets
    • loggedin boolean: True if the user is loggedin, false otherwise
    • loginqrdata string: Base64 encoded data that is represented in the login qr code
    • pk string: Base64 encoded public key of the nextAuth app. This uniquely identifies the account on the nextAuth app, regardless of the username
    • userid string: User name

Permission

  • Permission object
    • acl string: Comma-seperated list of permissions
    • role string: Role id
    • server string: Base64 encoded server id

Permissions

  • Permissions object
    • permissions required array: Array of permissions

Role

  • Role object
    • role string: Base64 encode role

Server

  • Server object
    • accountCount integer: Number of accounts registered with this server
    • appandroid string: URL of the app in Google Play
    • appios string: URL of the app in the App Store
    • appname string: name of the app
    • appurl string: URL (prefix) to launch the app
    • lastLogin integer: Last login on this server
    • logo required string: Base 64 encoded logo
    • owner integer: Owner id
    • pinTimeout required integer: Time (minutes) since the last time the user entered his PIN, that the user is not requested a PIN at login. -1 means that the user is never asked for a PIN before logging in, 0 means that the user is asked every time he wants to login
    • pinTransTimeout required integer: Time (minutes) since the last time the user entered his PIN, that the user is not requested a PIN at transaction approval. -1 means that the user is never asked for a PIN before approving a transaction, 0 means that the user is asked every time he wants to approve a transaction
    • pingTime required integer: Time (seconds) that the nextAuth app has before it needs to reply to a ping request from the nextAuth server (continuous authentication)
    • serverFlags required array: Server flags
      • items string
    • serverName required string: Server name
    • serverid required string: Base64 encoded id of the nextAuth server
    • serverpk required string: Base64 encoded public key of the nextAuth server
    • siteurl string: URL of the main website
    • wsurl string: Websocket URL

ServerSession

  • ServerSession object
    • serverid required string: Server Id
    • sessionid required string: Base64 encoded nonce

Servers

  • Servers object
    • servers required array: Array of servers
    • totalnumber integer: total number of users

SessionInfo

  • SessionInfo object
    • info object: Information to display to user
    • ip string: IP address
    • logo string: Base64 encoded logo
    • useragent string: User agent of the browser

Transaction

  • Transaction object
    • amount string
    • benificiary string
    • description string

TransactionId

  • TransactionId object
    • tid string: Base64 encoded transaction id

TransactionResult

  • TransactionResult object
    • tstatus string: 0 = new, 1 = approved, 2 = declined

User

  • User object
    • lastlogin integer: (aggregated) last login over all accounts
    • numberaccounts integer: (aggregated) number of accounts
    • userid required string: User name

UserContext

Users

  • Users object
    • totalnumber integer: total number of users
    • users required array: Array of users