{
  "name": "single-sign-in",
  "title": "Single Sign-In",
  "category": "Auth",
  "description": "Let a user sign in once and be signed in across a whole suite of apps on sibling subdomains: opening a second app needs no second visit to Internet Identity, and signing out of one signs them out of all. Covers the shared record with CookieStateStorage, the /reauth route that silently acquires each app's own credential under transport: 'redirect' and prompt: 'none', the per-origin /.well-known/ii-auth-callbacks document, reading signed-in-elsewhere on load and offering it mid-session, and what ends the session. Use when a suite of apps under one domain should need a single sign-in, when moving between them asks the user to sign in again, or when /reauth bounces in a loop. Every app must already derive from one elected primary origin: load user-sign-in and settle that first. Do NOT use for a single app on one origin, which needs none of this, for apps on unrelated domains, which cannot share a cookie, or for staff signing in with their organization's identity provider (use organization-sign-in).",
  "license": "Apache-2.0",
  "compatibility": "@icp-sdk/auth >= 11.0.0",
  "updated": "2026-11-10T12:15:44.000Z",
  "urls": {
    "html": "https://skills.internetcomputer.org/skills/single-sign-in/",
    "markdown": "https://skills.internetcomputer.org/.well-known/skills/single-sign-in/SKILL.md",
    "json": "https://skills.internetcomputer.org/api/skills/single-sign-in.json",
    "source": "https://github.com/dfinity/icskills/blob/5410eff3004bbed61389b2b307a6ee88e3aadf33/skills/single-sign-in/SKILL.md"
  },
  "publisher": {
    "name": "DFINITY Foundation",
    "url": "https://dfinity.org"
  },
  "canonicalRepo": {
    "name": "dfinity/icskills",
    "url": "https://github.com/dfinity/icskills"
  }
}
