了解身份服务器4与身份(cookie/令牌,服务器架构)



在理解它如何适合togheter时,我遇到了一些大局问题。对于初学者来说,这是一个很大的话题。

当Identity的cookie及其所有默认模板/页面与IdentityServer结合使用时,当它发布令牌时,它的意义何在?

为什么即使在使用 SPA 客户端时,这些页面也包含在所有示例中?能够通过 API 授权/验证/注册不是重点吗?

我看到很多人建议应该在自己的项目中拥有IdentityServer,然后在本地网络上单独使用用户数据库,这怎么可能?我还没有找到一个样本。

为什么需要将用户数据库与资源 API 分开,组合的 IdentityServer4 和 Identity 不是它自己的 API 吗?

感谢您的时间和帮助。

身份服务器应始终是一个单独的项目,并且它应该是唯一可以直接访问用户数据库的项目。这里有一个关于身份服务器的好视频和一个更新的视频,这里有一个很棒的 github 存储库,其中包含我使用的 IS 项目几乎完成。希望对您有所帮助。

想象一下,一个组织有多个网站,每个网站都为用户提供服务。通过使用OAuth/OpenID Connect,该组织将在以下几个方面受益:

  • 它获得单点登录,这意味着用户只需要创建一个帐户 他们将能够使用该组织的所有服务。
  • 它可以为其他网站和服务提供对其资源的访问 (机器对机器(与订阅和限制(客户端( 凭据(。例如,此组织可能具有天气 API 可由其他应用程序使用。
  • 它可以代表用户提供对其资源的访问权限。例如,它可能有一个流行的相册创建网站,而其他人有一个流行的照片编辑器和效果网站。如果这个照片编辑器网站可以从该网站的相册中导入用户的照片(当然要征得他们的同意(,那就太好

架构和流程(我将跳过技术内容和OAuth流程(:

我们有一个专用的 IdentityServer4 网站,负责创建和记录用户帐户。其他人不应有权访问用户数据库。

现在该组织的一个网站(我们称之为相册(想要登录用户,这是发生的事情:

  • 首先,它将用户重定向到 IS4 网站
  • 用户
  • 登录,IS4网站在浏览器上设置了自己网站的cookie(因此下次用户来这里时,他/她已登录(,并使用令牌或代码将用户重定向回相册
  • 相册在幕后做了很多事情(例如,它可能会用令牌交换代码(,最后它有一个包含用户信息的令牌。此时,相册还将此信息存储在cookie中,以便下次用户来这里时,他/她已登录

现在,该组织的另一个网站(我们称之为在线驱动器(想要登录用户:

  • 首先,它将用户重定向到 IS4 网站
  • IS4 网站识别用户(通过之前设置的 Cookie(,并使用令牌或代码将用户重定向回在线云端硬盘
  • 在线驱动器还在幕后做了很多事情,它还将用户的信息存储在cookie中,以便下次用户来这里时,他/她已经登录

现在,第三方网站(我们称之为照片编辑器(想要在相册中访问用户的照片:

  • 首先,它将用户重定向到 IS4 网站(并指定它想要访问的内容(
  • IS4网站识别用户(通过之前设置的cookie(并向用户显示同意页面,并询问用户是否可以让照片编辑器访问其指定的资源(例如其相册(
  • 如果用户接受,IS4 将使用令牌或代码将用户重定向回照片编辑器,此时照片编辑器可以调用相册的 API 并访问用户的资源

我希望我有所帮助,我建议阅读保护外围书籍和身份服务器文档。

相关内容

  • 没有找到相关文章

最新更新