Thinktecture 身份服务器与授权服务器
Posted
技术标签:
【中文标题】Thinktecture 身份服务器与授权服务器【英文标题】:Thinktecture Identity server vs Authorization server 【发布时间】:2014-02-08 02:05:31 【问题描述】:上周我正在研究这个主题,不幸的是我无法弄清楚。我了解身份验证和授权之间的区别。
我将不胜感激有关该主题的任何指导。
我一般需要的是为几个由 api 驱动的网站实现单点登录,这些网站也应该处理身份验证。用户应该能够使用用户名/密码或分别通过任何第三方服务(如 facebook、google+、twitter 等)注册/登录。
在上面的场景中,更好的方法是什么?我应该只使用身份服务器,还是只使用授权服务器,或者两者都使用?
提前谢谢你。
【问题讨论】:
【参考方案1】:Identity Server 3 启动时已弃用 AS:The Future of AuthorizationServer,因为所有 AS 功能现在都包含在 IS 中。
【讨论】:
@leastprivilege 这是真的吗?【参考方案2】:从 IdentityServer 开始 - 这是您的身份管理系统。
另外,AuthorizationServer 是一个功能齐全的 OAuth2 实现,可以将 IdentityServer 用作用户存储。
http://leastprivilege.com/2013/06/16/relationship-between-identityserver-and-authorizationserver/
【讨论】:
给定客户端、AS、IS、API (WebApiController/MVC5)。最后 3 个位于不同的服务器中。当客户端通过身份验证和授权时,它会向 API 发送一个令牌。 api 是否再次检查令牌信息,或者该令牌是否对 AS 或 IS 或两者有效? AS 使用签名的自包含 JWT 令牌 - 您可以在 API 中验证有效性,而无需再次联系颁发者。 10 倍的响应。我对此很陌生,但我仍然很困惑。客户端是否可以构建通过 API 验证但对 IS 失败的 JWT 令牌? Thinktecture repo 中是否有任何示例显示 api 如何验证令牌? 在 AS repo 中有一个 samples 文件夹。流程示例显示了 Web API 和 Nancy 的令牌验证。 “当 Identity Server 3 启动时,它弃用了 AS:AuthorizationServer 的未来,因为所有 AS 功能现在都包含在 IS 中。”真的吗?【参考方案3】:您的场景更像是确认用户身份的身份验证。另一方面,授权是一个人或一个角色是否可以执行某些操作。
【讨论】:
问题说他们已经理解了认证和授权的区别。问题是关于 Thinktecture IdentityServer 和 Thinktecture AuthorizationServer 之间的区别。 IS3的GUI管理和AS一样吗?有没有使用 GUI 和数据库而不是 inMemory 范围和客户端来管理 WebAPI 的示例?以上是关于Thinktecture 身份服务器与授权服务器的主要内容,如果未能解决你的问题,请参考以下文章
是否有任何知名 thinktecture 的身份服务器替代品?
Thinktecture IdentityServer v3 指南 - 证书
在 web api 中验证 Thinktecture OAuth 令牌