internet-identity

Integrate Internet Identity authentication for Internet Computer apps with passkey and OpenID flows.

28|11|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/dfinity/icskills --skill internet-identity
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: internet-identity
Source: https://github.com/dfinity/icskills/tree/main/skills/internet-identity
Command: npx skills add https://github.com/dfinity/icskills --skill internet-identity

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill addresses the challenge of integrating secure, user-friendly authentication into Internet Computer (IC) applications, preventing common pitfalls that lead to broken login flows and security vulnerabilities.

Core Features & Use Cases

  • Native IC Authentication: Integrates Internet Identity (II) for passkey and OpenID-based login.
  • Principal Isolation: Ensures user privacy by providing a unique principal per application.
  • Developer Guardrails: Highlights common mistakes in II integration, such as incorrect canister ID usage, improper delegation expiry, and failure to handle callbacks.
  • Use Case: When building a new decentralized application on the IC, use this Skill to implement a robust login system that allows users to authenticate seamlessly using their existing passkeys or familiar OpenID providers.

Quick Start

Integrate Internet Identity authentication into your frontend application by following the provided JavaScript login flow.

Frequently Asked Questions about internet-identity

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I integrate Internet Identity authentication into my Internet Computer app?

You integrate Internet Identity authentication by implementing the JavaScript login flow for passkeys and OpenID providers, ensuring unique principals per application. This establishes a secure, user-friendly login system for your decentralized app.

How does principal isolation work with Internet Identity login?

Principal isolation in Internet Identity generates a unique principal for each application a user logs into. This mechanism ensures user privacy by preventing cross-application tracking through principal reuse.

Can I use Internet Identity with both Motoko and Rust backend canisters?

Yes, Internet Identity integration supports both Motoko and Rust for backend development. It provides guidance for frontend and backend implementation, addressing common errors specific to each language environment.

Why does my Internet Identity login flow break due to delegation expiry or callback handling?

Login flows break when delegation expiry is improperly configured or callback handling fails. Correcting canister ID usage and properly managing these delegation parameters resolves the broken authentication state.

What are common canister ID mistakes when implementing passkey authentication on ICP?

Common canister ID mistakes involve using incorrect identifiers during the Internet Identity integration process. Matching the correct canister ID ensures the passkey authentication flow properly delegates access to your application.

Does Internet Identity support OpenID providers alongside passkeys?

Yes, Internet Identity supports both passkey and OpenID-based login flows. This allows users to authenticate seamlessly using existing passkeys or familiar OpenID providers within your IC application.