@iris-platform/iris-aum-js-sdk

JS SDK for Iris Auth Manager

Usage no npm install needed!

<script type="module">
  import irisPlatformIrisAumJsSdk from 'https://cdn.skypack.dev/@iris-platform/iris-aum-js-sdk';
</script>

README

Iris AUM JS SDK

Introduction

This section describes JavaScript SDK for Iris Auth Manager. Package can be installed with

npm i @iris-platform/iris-aum-js-sdk

Registration – Social Media, Cima, SSO, or PingID

This API requires valid Facebook, Google, Cima, PingID access token. The API will exchange the given access token for Iris JWT token. The registration API validates provided token and uses the user information to create Iris user and returns JWT token that then can be used to access all other Iris platform APIs.

mediaRegister(type, mediaToken, successCallback, errorCallback)


type – LOGIN_TYPE_FACEBOOK, LOGIN_TYPE_GOOGLEPLUS, LOGIN_TYPE_PINGID, LOGIN_TYPE_SSO, LOGIN_TYPE_CIMA
mediaToken – token
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
mediaRegisterAsync(type, mediaToken)


type – LOGIN_TYPE_FACEBOOK, LOGIN_TYPE_GOOGLEPLUS, LOGIN_TYPE_PINGID, LOGIN_TYPE_SSO, LOGIN_TYPE_CIMA
mediaToken – token

Returns promise that returns JSON payload on success and error on failure.

To get constants import them like this:

import {
  LOGIN_TYPE_FACEBOOK,
  LOGIN_TYPE_GOOGLEPLUS,
  LOGIN_TYPE_PINGID,
  LOGIN_TYPE_SSO,
  LOGIN_TYPE_CIMA
} from 'iris-aum-js-sdk';

Registration – Email

Register using email.

emailRegister(username, email, password, successCallback, errorCallback)

username – user name like first name and last name with optional middle name
email – user’s email
password – user’s password
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
emailRegisterAsync(username, email, password)

username – user name like first name and last name with optional middle name
email – user’s email
password – user’s password

Returns promise that returns JSON payload on success and error on failure.

Registration – Device

Register using device unique id.

emailRegister(typeId, successCallback, errorCallback)

typeId - device uunique id
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
emailRegisterAsync(typeId)

typeId - device uunique id

Returns promise that returns JSON payload on success and error on failure.

Get User Information

This API allows to get user information associated with JWT token. This API can be used with any Iris token accept the ones obtained with anonymous login.

userInformation(token, successCallback, errorCallback)

token – Iris JWT access token
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
userInformationAsync(token)

token – Iris JWT access token

Returns promise that returns JSON payload on success and error on failure.

Validate Access Token

This API will validate if the token is valid. This API can be used with any Iris token accept the ones obtained with anonymous login.

validateUserAccessToken(token, successCallback, errorCallback)

token – Iris JWT access token
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
validateUserAccessTokenAsync(token)

token – Iris JWT access token

Returns promise that returns JSON payload on success and error on failure.

Returns if the token is valid or not.

Login - Social Media, SSO, Cima or PingID

Login using social media, SSO, Cima or PingID.

mediaLogin(type, mediaToken, successToken, errorCallback)

type – LOGIN_TYPE_FACEBOOK, LOGIN_TYPE_GOOGLEPLUS, LOGIN_TYPE_PINGID, LOGIN_TYPE_SSO, LOGIN_TYPE_CIMA
mediaToken – token
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
mediaLoginAsync(type, mediaToken)

type – LOGIN_TYPE_FACEBOOK, LOGIN_TYPE_GOOGLEPLUS, LOGIN_TYPE_PINGID, LOGIN_TYPE_SSO, LOGIN_TYPE_CIMA
mediaToken – token

Returns promise that returns JSON payload on success and error on failure.

Returns Iris JWT access token.

Email Login

Login using email.

emailLogin(email, password, successCallback, errorCallback)

email – user’s email
password – user’s password
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
emailLoginAsync(email, password)

email – user’s email
password – user’s password

Returns promise that returns JSON payload on success and error on failure.

Returns Iris JWT access token.

Email Account Password Change

Change password for email based user account.

emailAccountPasswordChange(token, email, currentPassword, newPassword, successCallback, errorCallback)

token – bearer token, it can be client or server
email – user’s email
currentPassword – user’s current password
newPassword – user’s new password
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
emailAccountPasswordChangeAsync(token, email, currentPassword, newPassword)

token – bearer token, it can be client or server
email – user’s email
currentPassword – user’s current password
newPassword – user’s new password

Returns promise that returns JSON payload on success and error on failure.

Device Login

Login using device unique id.

deviceLogin(typeId, successCallback, errorCallback)

typeId - device uunique id
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
deviceLoginAsync(typeId, successCallback, errorCallback)

typeId - device uunique id

Returns promise that returns JSON payload on success and error on failure.

Returns Iris JWT access token.

Server Login

Get server to server JWT

serverLogin(successCallback, errorCallback)

successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
deviceLoginAsync(successCallback, errorCallback)

Returns promise that returns JSON payload on success and error on failure.

Returns Iris server to server JWT access token.

Anonymous Login

This API allows anonymous login. This is useful if applications that do not require concept of user.

anonymousLogin(userID, successCallback, errorCallback)

userID – optional string with user name or id.  It can be empty.
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
anonymousLoginAsync(userID)

userID – optional string with user name or id.  It can be empty.

Returns promise that returns JSON payload on success and error on failure.

Returns Iris JWT access token.

Logout

Logout API takes valid Iris JWT and adds it to blacklist so it cannot be used further to access Iris platform.

logout(token, successCallback, errorCallback)

token – Iris JWT token
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.
logoutAsync(token)

token – Iris JWT token

Returns promise that returns JSON payload on success and error on failure.

Decode Iris JWT

This API will return object with decoded JWT’s header, claims and signature.

decodeToken(token)

token – valid Iris JWT token

Following APIs are only available in v1.1

Refresh Token

APIs to retrieve new token with refresh token.

refreshTokenAsync(refreshToken)

refreshToken - refresh token
refreshToken(refreshToken, successCallback, errorCallback)

refreshToken - refresh token
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.

Revoke Refresh Token

Revoke specified refresh token

revokeRefreshTokenAsync(refreshToken)

refreshToken - refresh token
revokeRefreshToken(refreshToken, successCallback, errorCallback)

refreshToken - refresh token
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.

Update User Profile

This API allows for attaching profile to specified user. Profile can be arbitrary JSON object.

updateUserProfileAsync(token, userID, profileObject)

token - server to server token
userID - user id
profileObject - JSON object with profile data
updateUserProfile(token, userID, profileObject, successCallback, errorCallback)

token - server to server token
userID - user id
profileObject - JSON object with profile data
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.

Query users based on their profile data

Find users based on query of profile data. For example,

const queryObject = {
  'user_name': newUserName,
}

will search for user whose profile contains user_name equal to newUserName

queryUserProfileAsync(token, queryObject, isMatch, start, limit)

token - server to server token
queryObject - JSON object with query
isMatch - true to match field with value exactly, false will search for value contained in the field
start - pagination start index
limit - pagination count of entries returned
queryUserProfile(token, queryObject, isMatch, start, limit, successCallback, errorCallback)

token - server to server token
queryObject - JSON object with query
isMatch - true to match field with value exactly, false will search for value contained in the field
start - pagination start index
limit - pagination count of entries returned
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.

Delete User

Delete user with given user_id

deleteUserAsync(token, userID)

token - server to server token
userID - user id
deleteUser(token, userID, successCallback, errorCallback)

token - server to server token
userID - user id
successCallback – when API succeeds this callback will receive JSON response.
failureCallback – in case of failure error information will be passed into this callback.

Example

After you npm i @iris-platform/iris-aum-js-sdk you can test it out with the following code:

let irisAuth = require("@iris-platform/iris-aum-js-sdk")
let authMgr = irisAuth.AuthManagerFactory({"authMgrApiUrl": "<iris auth manager url>", "apiVersion": "v1.1", "appkey": "<your app key>", "appsecret": "<your app secret"})
authMgr.anonymousLogin("Some Name")
.then(data => console.log(data))
.catch(error => console.log(error))