{
  "_description": "本文件由 data/ 生成：请改动来源文件，不要改这里。各字段的证据边界见接入指南。",
  "schemaVersion": "1.0.0",
  "kind": "entry",
  "locale": "zh-CN",
  "id": "single-sign-on",
  "name": {
    "zh": "单点登录",
    "en": "Single Sign-On"
  },
  "page": "https://designvocabulary.com/zh/entries/single-sign-on/",
  "self": "https://designvocabulary.com/zh/entries/single-sign-on.json",
  "alternates": {
    "zh-CN": "https://designvocabulary.com/zh/entries/single-sign-on.json",
    "en": "https://designvocabulary.com/en/entries/single-sign-on.json"
  },
  "site": {
    "catalogSchemaVersion": "0.1.0",
    "entries": 137,
    "index": "https://designvocabulary.com/zh/entries/index.json",
    "query": "https://designvocabulary.com/api/query?lang=zh",
    "guide": "https://designvocabulary.com/zh/agents/",
    "llms": "https://designvocabulary.com/llms.txt"
  },
  "provenance": {
    "sourceBacked": [
      "entry.definition"
    ],
    "editorial": [
      "entry.boundary",
      "entry.signature",
      "entry.when",
      "entry.when_not",
      "entry.tradeoff",
      "entry.comparison",
      "entry.rules",
      "entry.relations",
      "entry.implementationNote",
      "entry.behavior"
    ],
    "scope": "定义参考以上来源；数字界面示例、选择建议、条件关系及配方由本样例编辑，尚未经用户研究验证。",
    "editorialStatus": "drafted",
    "specimenData": "fictional",
    "specimenNote": "示例为原创虚构界面；定义附来源，用法与配方为编辑建议。",
    "sources": [
      {
        "id": "sso-wikipedia",
        "url": "https://en.wikipedia.org/wiki/Single_sign-on",
        "title": "Wikipedia · Single sign-on",
        "checkedAt": "2026-09-16",
        "archive": {
          "status": "unconfirmed",
          "confirmed": false,
          "url": null,
          "capturedAt": null,
          "lookupUrl": "https://web.archive.org/web/20260916*/https://en.wikipedia.org/wiki/Single_sign-on"
        }
      },
      {
        "id": "sso-nist-63c",
        "url": "https://pages.nist.gov/800-63-4/sp800-63c.html",
        "title": "NIST SP 800-63C-4 · Digital Identity Guidelines: Federation and Assertions",
        "checkedAt": "2026-09-16",
        "archive": {
          "status": "available",
          "confirmed": true,
          "url": "https://web.archive.org/web/20260916173404/https://pages.nist.gov/800-63-4/sp800-63c.html",
          "capturedAt": "2026-09-16T17:34:04Z",
          "lookupUrl": "https://web.archive.org/web/20260916*/https://pages.nist.gov/800-63-4/sp800-63c.html"
        }
      }
    ],
    "lists": [],
    "ordered": false,
    "listDisclaimer": "席位号是编辑位置，不是评分、排名或人气统计；清单未收满时保持原样，不补足。"
  },
  "entry": {
    "id": "single-sign-on",
    "type": "interaction",
    "name": {
      "zh": "单点登录",
      "en": "Single Sign-On"
    },
    "aliases": [
      "SSO",
      "Federated Login",
      "联合登录",
      "统一身份登录"
    ],
    "granularity": "flow",
    "intents": [
      "configure",
      "protect-privacy"
    ],
    "tags": [
      "登录",
      "身份",
      "联合认证",
      "企业",
      "凭据"
    ],
    "definition": "用一个身份提供方的登录换取多个独立应用的访问：用户在身份提供方认证一次，各应用凭它签发的断言放行，不再各自保存一套凭据。",
    "boundary": "单点登录解决的是\"在哪里认证\"，不是\"能做什么\"——授权与权限仍由各应用自行决定，登录成功不等于有权操作。它也不是同一套账号密码在多处重复输入（那只是同源登录），真正的单点登录不要求用户再次提供认证因素。本词条讨论的是这一流程在界面上的形态与取舍，不给出协议选型建议；具体的断言格式与安全要求以所引规范为准。",
    "signature": [
      "用户在身份提供方而不是各个应用内输入凭据",
      "进入第二个应用时不再要求重新提供认证因素",
      "各应用不保存用户的密码，只接受身份提供方签发的断言"
    ],
    "when": [
      "同一群用户需要访问多个由不同团队维护的系统",
      "组织需要在一处集中撤销访问权，例如员工离职时",
      "希望减少各应用各自保管密码带来的泄露面"
    ],
    "when_not": [
      "把登录集中到一处却没有为身份提供方不可用准备预案",
      "用它替代授权判断，让\"登录成功\"直接等于\"有权操作\"",
      "面向个人用户的产品把第三方身份登录设为唯一入口，排除不使用该平台的人"
    ],
    "tradeoff": "把认证集中到一处减少了用户要记的凭据与各应用要保管的密钥，代价是集中了风险：身份提供方不可用时全部应用同时进不去，凭据一旦失窃影响面也随之扩大。",
    "comparison": {
      "focus": "用一次认证换取多个应用的访问",
      "mechanism": "身份提供方签发断言，各应用据此放行",
      "cost": "风险与可用性同时集中到身份提供方"
    },
    "sources": [
      {
        "id": "sso-wikipedia",
        "title": "Wikipedia · Single sign-on",
        "url": "https://en.wikipedia.org/wiki/Single_sign-on",
        "claim": "该条目把单点登录定义为一种认证方案：用户用一个 ID 登录若干相关但彼此独立的软件系统；真正的单点登录让用户登录一次即可访问各项服务而无需重新提供认证因素，并明确区别于仅共用同一套账号密码的 same-sign-on。本词条的定义与边界据此转述。",
        "checkedAt": "2026-09-16",
        "archive": {
          "lookupUrl": "https://web.archive.org/web/20260916*/https://en.wikipedia.org/wiki/Single_sign-on",
          "status": "unconfirmed",
          "checkedAt": "2026-09-16T17:33:38.705Z",
          "error": "status-request-failed",
          "jobId": "spn2-89a789828b03ffa4707051f0708c4ef22e54362a"
        }
      },
      {
        "id": "sso-nist-63c",
        "title": "NIST SP 800-63C-4 · Digital Identity Guidelines: Federation and Assertions",
        "url": "https://pages.nist.gov/800-63-4/sp800-63c.html",
        "claim": "该指南说明联合身份让凭据服务提供方向多个独立管理的依赖方提供认证属性，使订阅者无需在每个依赖方各自持有与维护认证器，并指出这一过程有时被称为单点登录；它还说明当依赖方与订阅者账户不在同一安全域下集中管理时，联合通常是首选方案。本词条的机制与适用场景据此转述。",
        "checkedAt": "2026-09-16",
        "archive": {
          "lookupUrl": "https://web.archive.org/web/20260916*/https://pages.nist.gov/800-63-4/sp800-63c.html",
          "status": "available",
          "checkedAt": "2026-09-16T17:33:39.848Z",
          "jobId": "spn2-2e760c4e5af898f66d90dc9428b2f7cf9731fdc1",
          "url": "https://web.archive.org/web/20260916173404/https://pages.nist.gov/800-63-4/sp800-63c.html",
          "timestamp": "20260916173404"
        }
      }
    ],
    "relations": [
      {
        "target": "privacy-by-design",
        "kind": "composes_with",
        "condition": "身份提供方会把用户属性传给接入的应用",
        "reason": "联合登录会顺带传递姓名、邮箱等属性，应只传该应用确实需要的部分，并让用户看得见传了什么。",
        "basis": "editorial"
      },
      {
        "target": "visibility-of-system-status",
        "kind": "composes_with",
        "condition": "登录过程在多个域之间跳转",
        "reason": "用户会被带到一个陌生域名再被带回来，过程中必须始终能看出自己在哪一步、正在向谁认证。",
        "basis": "editorial"
      },
      {
        "target": "inclusive-design",
        "kind": "conflicts_when",
        "condition": "面向个人用户的产品把某个第三方身份设为唯一入口",
        "reason": "把唯一入口绑定到某个平台，会排除不使用、无法使用或已失去该平台账号的人。",
        "basis": "editorial"
      }
    ],
    "rules": [
      {
        "when": "产品把单点登录作为主要登录方式",
        "instruction": "为身份提供方不可用的情况准备说明与联系路径，不要只显示一个失败页面。",
        "strength": "must",
        "basis": "editorial"
      },
      {
        "when": "登录过程把用户带到另一个域名",
        "instruction": "在跳转前说明将要前往哪里、为何前往，并在返回后确认身份已建立；不要把跳转做成静默的。",
        "strength": "recommend",
        "basis": "editorial"
      }
    ],
    "behavior": {
      "states": [
        "signed-out",
        "redirecting",
        "signed-in",
        "error"
      ],
      "a11y": [
        "跳转与返回都产生可被读屏察觉的页面标题变化",
        "失败原因用文字说明，而不是只给一个错误代码"
      ],
      "motion": "跳转过程无需动画；等待时提供文字状态"
    },
    "demo": null,
    "version": "0.1.0",
    "editorialStatus": "drafted",
    "requirements": [],
    "demoCapabilities": [],
    "implementationNote": "本词条尚无可操作示例；插画为编辑示意，其中的组织名与域名均为虚构。应用到产品前仍须按所引规范确认断言的处理方式，并验证身份提供方不可用时的降级路径。",
    "image": {
      "src": "/images/single-sign-on.webp",
      "alt": "一张流程示意图：左侧是一个虚构的身份提供方登录卡片，中间一条箭头指向右侧并排的三个虚构应用窗口，每个窗口内只有灰色占位内容条，表示它们都凭同一次登录放行。"
    },
    "searchTerms": [
      "sign-in",
      "identity",
      "federation",
      "enterprise",
      "credential"
    ]
  }
}
