Parse authentication parameters from URL and extract user information
npm install skyllful-auth-integrationGet user information from the current browser URL including userId, firstName, lastName, and permission flags.
``bash`
npm install skyllful-auth-integration
`typescript
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:
`typescript
import getUserInfo from 'skyllful-auth-integration';
const userInfo = await getUserInfo();
`
Get user information from the current browser URL.
Returns: Promise that resolves to an object with:userId
- (string): The user ID from the userId URL parameterfirstName
- (string): The user's first name from the firstName URL parameterlastName
- (string): The user's last name from the lastName URL parameteremail
- (string): The user's email from the email URL parameterusername
- (string): The user's username from the username URL parameterpersonNumber
- (string, optional): The person number from the personNumber URL parameterhasSimulatorPermission
- (boolean): True if permissions includes "simulator"hasIqPermission
- (boolean): True if permissions includes "iq"hasStudioPermission
- (boolean): True if permissions includes "studio"hasAdminPermission
- (boolean): True if permissions includes "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)
This package includes TypeScript definitions. The following type is exported:
`typescript``
interface UserInfo {
userId: string;
firstName: string;
lastName: string;
email: string;
username: string;
personNumber?: string;
hasSimulatorPermission: boolean;
hasIqPermission: boolean;
hasStudioPermission: boolean;
hasAdminPermission: boolean;
}
ISC