Skip to main content

ICP Wallet

Logging in with Internet Identity​

The login process with Internet Identity involves these key steps:

1. User Initiates Login​

  • The user navigates to the Admin Dashboard and selects the option to "Login with Internet Identity."

2. Challenge Preparation​

  • The system prepares a challenge (encoded as a session public key) before initiating the authentication process.

3. Internet Identity Authentication​

  • A popup window opens, connecting to the Internet Identity service.
  • The user authenticates through this popup.
  • The challenge (session public key) is sent to the II service.

4. Delegation Chain Retrieval​

  • Upon successful authentication, the II service creates and returns a delegation chain.
  • This delegation chain includes cryptographic proofs of the user's authentication.

5. Processing the Authentication Result​

  • The application receives the delegation chain from the II service.
  • It processes this data, extracting necessary information like the user's public key.

6. Login Request Preparation​

  • The application prepares a login request including:
    • The serialized delegation chain
    • The original challenge payload
    • Wallet metadata (ICP canister ID and wallet name)

7. Server-side Verification​

  • The login request is sent to the Calimero server.
  • The server verifies the delegation chain and challenge.

8. Successful Login​

  • Upon successful verification, the user is logged in and directed to the identity page.
  • The user's Internet Identity becomes their unique identifier for future interactions within the Calimero ecosystem.

This process leverages ICP's delegation chain mechanism for secure, decentralized authentication.

Was this page helpful?
Need some help? Check Support page