2014-01-18 148 views
13

上周我正在研究这个话题,不幸的是我无法弄清楚。我了解身份验证和授权的区别。Thinktecture身份认证服务器vs授权服务器

我会很感激这个话题的任何指导。

作为一般我需要的是实现多个网站的单点登录,这是由apis驱动的,这也应该处理认证。用户应该能够注册/登录用户名/密码或分别通过任何第三方服务,如脸谱,谷歌+,微博等。

在上面的情况什么是更好的方法?我应该只使用身份服务器,还是只使用授权服务器?

预先感谢您。

回答

17

从IdentityServer开始 - 这是您的身份管理系统。

AuthorizationServer另外是一个全功能的OAuth2实现,可以使用IdentityServer作为用户存储。

http://leastprivilege.com/2013/06/16/relationship-between-identityserver-and-authorizationserver/

+1

给定客户端,AS,IS,API(WebApiController/MVC5)。最后3个在不同的服务器上。当客户端通过身份验证并授权后,它会向API发送令牌。 API是否再次检查令牌信息,或者该令牌是否对AS或IS或两者都有效? – mynkow

+1

AS使用已签名的自包含JWT令牌 - 您可以验证API中的有效性,而无需再次联系发卡行。 – leastprivilege

+0

10x的回应。我对此很陌生,但我仍然感到困惑。客户是否有可能构建JWT令牌,这些令牌通过了API验证,但是对IS没有通过验证? Thinktecture回购中是否有样本显示api如何验证令牌? – mynkow

2

您的场景更像是确认用户身份的验证。另一方面,授权是指一个人或一个角色是否可以执行一些操作。

+1

这个问题表明他们已经理解认证和授权的区别。问题是关于Thinktecture IdentityServer和Thinktecture AuthorizationServer的区别。 –

+0

IS3是否具有与AS相同的GUI管理?使用Gui和数据库而不是内存范围和客户端来管理WebAPI的任何示例? – Keith