PLYR GAMING UNIVERSE
  • API Endpoint
  • API Quickstart
  • API REFERENCE
    • Users
      • Authentication
        • PLYR[ID]
          • Login
          • Login and Approve
          • Logout
        • InstantPlayPass
          • RegisterIPP
          • RevealClaimingCode
          • VerifyClaimingCode
        • PLYR[CONNECT]
      • Check Session JWT
      • Get Basic User Info
      • Get Avatar
    • Game room
      • Create Game Room
      • Join Game Room
      • Pay Game Room
      • Earn Game Room
      • Leave Game Room
      • End Game Room
      • Helpers
        • Is Joined Game Room
        • Join and Pay
        • Earn and Leave
        • Create, Join and Pay
        • Earn, Leave and End
    • Assets
      • Tokens ( ERC-20 )
        • Get PLYR L1 Token List
        • Get User Token Balance
        • Get User Token Allowance
        • Approve User Token Spending
        • Revoke User Token Allowance
        • In-Game Chips
          • Create Chip
          • Mint Chip
          • Burn Chip
          • Transfer Chip
          • Get Chip Balance
          • Get Chip Info
      • NFTs ( ERC-721 )
        • Create NFT
        • Mint NFT
        • Transfer NFT
        • Burn NFT
        • Get NFT Balance
        • List NFTs
        • Check NFT Holding
        • Get NFT Credit
        • Get NFT Info
        • Get Zoo Genes
        • Official PLYR NFTs
          • Get User Zoo Genes
          • Get User Zoo Boosters
          • Get User Zoo Elixirs
      • Badge
        • Create Badge
        • Mint Badge
        • Remove Badge
        • Burn Badge
        • List Badges
        • Get Badge Info
    • Misc
      • Get Session JWT Public Key
      • Verify JWT Locally
      • Activity Logs
      • Get Task Message Status
Powered by GitBook
On this page
  1. API REFERENCE
  2. Users
  3. Authentication
  4. PLYR[ID]

Login

User login endpoint

Authenticate a user and get a session JWT token.

Endpoint: /user/login Method: POST

{
    plyrId: string;     // Player ID (lowercase)
    otp: string;        // 2FA token
    expiresIn?: number; // Session expiration in seconds (optional, defaults to 86400s/24hrs)
    gameId: string;     // Game identifier
}
{
    sessionJwt: string;
    plyrId: string;
    nonce: string;
    gameId: string;
    primaryAddress: string;
    mirrorAddress: string;
}
{
    error: string;
}

Example Usage

const timestamp = Date.now().toString();
const body = {
    plyrId: 'player123',
    otp: '123456', // 2FA token from authenticator app
    expiresIn: 3600, // Session will expire in 1 hour
    gameId: 'game123' // Your game's identifier
};

const hmac = generateHmacSignature(timestamp, body, secretKey);

const response = await axios.post(apiEndpoint + '/user/login', body, {
    headers: {
        apikey: apiKey,
        signature: hmac,
        timestamp: timestamp
    }
});

// Store session information securely
const {
    sessionJwt, // JWT token for future API calls
    plyrId, // Player's ID
    nonce, // Unique nonce for this session
    gameId, // Game identifier
    primaryAddress, // User's primary wallet address
    mirrorAddress // User's mirror wallet address
} = response.data;

// Use sessionJwt for subsequent authenticated API calls

Store the session JWT securely and never expose it in client-side code or logs.

The session JWT is required for most API endpoints and should be included in the request headers.

PreviousPLYR[ID]NextLogin and Approve

Last updated 4 months ago