JSPM

skyllful-auth-integration

1.0.7
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 17
    • Score
      100M100P100Q42849F
    • License ISC

    Parse authentication parameters from URL and extract user information

    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-integration

    Usage

    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 the userId URL parameter
    • firstName (string): The user's first name from the firstName URL parameter
    • lastName (string): The user's last name from the lastName URL parameter
    • email (string): The user's email from the email URL parameter
    • username (string): The user's username from the username URL parameter
    • personNumber (string, optional): The person number from the personNumber URL parameter
    • hasSimulatorPermission (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)

    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