skyllful-auth-integration
v1.0.7
Published
Parse authentication parameters from URL and extract user information
Maintainers
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 protected]&username=jsmith&personNumber=123456&permissions=simulator,iq,admin
const userInfo = await getUserInfo();
console.log(userInfo);
// {
// userId: '456',
// firstName: 'Jane',
// lastName: 'Smith',
// email: '[email protected]',
// 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
