Package Exports
- skyllful-auth-integration
- skyllful-auth-integration/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (skyllful-auth-integration) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
skyllful-auth-integration
Get user information from the current browser URL including userId, firstName, lastName, and permission flags.
Installation
npm install skyllful-auth-integrationUsage
import { getUserInfo } from 'skyllful-auth-integration';
// In browser environment
// Current URL: https://app.example.com/?userId=456&firstName=Jane&lastName=Smith&email=jane@example.com&username=jsmith&personNumber=123456&permissions=simulator,iq,admin
const userInfo = await getUserInfo();
console.log(userInfo);
// {
// userId: '456',
// firstName: 'Jane',
// lastName: 'Smith',
// email: 'jane@example.com',
// username: 'jsmith',
// personNumber: '123456',
// hasSimulatorPermission: true,
// hasIqPermission: true,
// hasStudioPermission: false,
// hasAdminPermission: true
// }Or use the default export:
import getUserInfo from 'skyllful-auth-integration';
const userInfo = await getUserInfo();API
getUserInfo()
Get user information from the current browser URL.
Returns: Promise<UserInfo> that resolves to an object with:
userId(string): The user ID from theuserIdURL parameterfirstName(string): The user's first name from thefirstNameURL parameterlastName(string): The user's last name from thelastNameURL parameteremail(string): The user's email from theemailURL parameterusername(string): The user's username from theusernameURL parameterpersonNumber(string, optional): The person number from thepersonNumberURL parameterhasSimulatorPermission(boolean): True ifpermissionsincludes "simulator"hasIqPermission(boolean): True ifpermissionsincludes "iq"hasStudioPermission(boolean): True ifpermissionsincludes "studio"hasAdminPermission(boolean): True ifpermissionsincludes "admin"
Note: This function only works in browser environments and will throw an error in Node.js.
Expected URL parameters:
userId- The user ID (required)firstName- The user's first name (required)lastName- The user's last name (required)email- The user's email (required - at least one of email or username must be provided)username- The user's username (required - at least one of email or username must be provided)personNumber- The person number (optional)permissions- Comma-separated list of permissions (e.g.,simulator,iq,studio,admin)
TypeScript
This package includes TypeScript definitions. The following type is exported:
interface UserInfo {
userId: string;
firstName: string;
lastName: string;
email: string;
username: string;
personNumber?: string;
hasSimulatorPermission: boolean;
hasIqPermission: boolean;
hasStudioPermission: boolean;
hasAdminPermission: boolean;
}License
ISC