跳到正文

身份认证

Authentication

中级通用

身份认证(Authentication)是系统确认请求者身份的过程,常见方式是核对密码或登录凭证。它解决的是“这次操作来自谁”的问题:例如网站确认你已登录,才能把草稿关联到你的账号。

你可能会说:「我想让用户登录后能接着编辑自己的草稿,别人打开网站时不能冒充他。」

读之前建议先了解

动手看看

登录信息浏览器认证服务等待核验账号库草稿服务尚未参与
1

小林准备保存文章草稿,先在登录页输入账号和密码。浏览器把登录信息交给认证服务,还不能直接当作已登录。

要点

  1. 1

    先核对能证明身份的凭据

    用户输入密码、使用第三方登录,或提供其他登录凭据时,系统会核对这些信息。核对通过,系统才能把后续请求关联到一个账号;只让用户填姓名或邮箱,并不能证明他就是本人。

  2. 2

    登录后还要识别后续请求

    你登录网站后,每点一次“保存草稿”都会产生新请求。系统通常借助会话凭据识别这些请求,而不是每次都让你重新输密码。服务端也要核对凭据,不能只看页面上显示了谁的头像。

  3. 3

    凭据失效时要重新确认

    用户退出登录、会话过期,或凭据被撤销后,系统就不能继续把旧请求当作已登录请求。这样即使页面还停留在编辑界面,保存操作也会要求重新登录,避免草稿被写到错误的账号下。

容易混淆的地方

身份认证回答“你是谁”,权限控制回答“你能做什么”。后台确认你是小王,不代表你就能查看所有客户资料;还要检查小王的权限。会话则是维持登录状态的一种机制,不等于身份认证本身:拿到会话凭据后,服务端仍要核对它是否有效。

什么时候用

适合用

  • 做在线笔记 App,草稿要跨设备同步到用户账号,你需要先确认发起保存请求的是哪个用户。
  • 做团队后台,成员登录后查看自己的工作区,你需要识别成员身份,再交给权限控制判断可访问范围。
  • 做 AI 工具,用户的对话历史和付费额度分别归属不同账号,你需要认证请求来自哪个账号。

不适合用

  • 做无需账号的公开产品介绍页时,访客只是阅读内容,用公开访问即可,不必增加登录流程。
  • 做仅保存在本机、不提供账号或云同步的个人草稿工具时,可以依赖设备解锁保护本机访问,不必自建账号认证。

练一练

你在做一个云端笔记网站。用户登录后可以保存笔记。怎样设计,才能让服务端确认每次保存请求来自哪个账号?

让 AI 帮你做

请为这个云端笔记网站设计身份认证流程:说明用户登录时如何核对凭据、后续保存请求如何由服务端确认账号,以及退出登录和会话失效后如何处理。先说明方案,再列出需要修改的端点和测试场景。

接下来学什么