1.1.14 • Published 1 year ago

takiacademy-sso v1.1.14

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Takiacademy SSO

Installation

npm i takiacademy-sso

How to use ?

import TASSO from 'takiacademy-sso';

or using commonJS :

const { default: TASSO } = require('takiacademy-sso');
const accessManager = await new TASSO({
    client_id: /* your application id */,
    client_secret: /* your application secret */,
    tenant_id: /* your organization tenant id */,
    ms_graph_base_url: /* microsoft graph api URL example:
                              https://graph.microsoft.com/v1.0 */
});

for security reasons you should add these arguments in your .env file .

Get all users in the organization :

const users = await accessManager.getAllUsers();
/*
returns User[]

User {
  businessPhones: string[];
  displayName: string;
  givenName: string;
  jobTitle: string | null;
  mail: string | null;
  mobilePhone: string | null;
  officeLocation: string | null;
  preferredLanguage: string | null;
  surname: string | null;
  userPrincipalName: string;
  id: string;
  appRolesIds: string[]
}
*/

Get all appRoles in the application :

const users = await accessManager.getAppRoles();
/*
returns AppRole[]

AppRole {
  allowedMemberTypes: string[];
  description: string;
  displayName: string;
  id: string;
  isEnabled: boolean;
  origin?: string;
  value: string;
}
*/

Add appRoles to the application :

const addAppRolesIds = await accessManager.addRolesToApp(appRoles);
// appRoles can be an array or a single AppRoleBody
/*
appRoles : AppRoleBody[]

AppRoleBody {
  description: string;
  displayName: string;
  value: string;
}
*/

Assign appRoles to users :

await accessManager.addRolesToUsers(rolesIds, usersIds);
// you can get users and roles ids using respectively the getUsers() and getAppRoles() methods

/*
rolesIds : string[]
[
    "4ee80c79-fbd0-4548-9453-4857b16b528c",
    "9fa45a2d-870f-46cc-9aed-1a5d837f6ea5",
    ...
]

usersIds : string[]
[
    "9fa45a2d-870f-46cc-9aed-1a5d837f6ea5",
    "4ee80c79-fbd0-4548-9453-4857b16b528c",
    ...
]
*/

Create new user :

await accessManager.createUser(userBody);
/*
userBody: UserBody

UserBody {
  accountEnabled: boolean;
  displayName: string;
  mailNickname: string;
  passwordProfile: {
    forceChangePasswordNextSignIn: boolean;
    forceChangePasswordNextSignInWithMfa: boolean;
    password: string;
  };
  userPrincipalName: string;
}
*/

Contact

if you have any suggestion or issue contact me through my email : mohamediyed@takiacademyteam.com

1.1.14

1 year ago

1.1.13

1 year ago

1.1.12

1 year ago

1.1.11

1 year ago

1.1.10

1 year ago

1.1.9

1 year ago

1.1.8

1 year ago

1.1.7

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago