IdentityServer3 - OAuth流程,不同的方法

时间:2016-04-22 08:52:13

标签: javascript api backbone.js oauth identityserver3

我构建了一个基本上是REST Web API的应用程序。我想向其他开发人员提供代表用户调用这些API的机会。我决定继续使用OAuth身份验证,将我的身份验证服务基于IdentityServer3。 现在,我已成功使用授权流为第三方客户端生成访问令牌。

什么让我无法理解的是如何使用基于cookie的身份验证(+防伪令牌)处理当前调用我的Web API的SPA。这个应用程序是用Javascript编写的,基于Backbone。实质上,它所做的只是调用我的Web API并呈现结果。我对不同的授权流程感到困惑,我不想创建安全漏洞。

我认为的解决方案:

  1. 直接通过Javascript生成令牌。我应该使用哪种流程?如何处理令牌刷新?
  2. 从后端服务器应用程序生成令牌,并将生成的令牌传递回SPA(显然通过SSL通道)。这有点安全吗?如果是,我应该使用哪种流程(我说授权代码流程)?如何处理令牌刷新?
  3. 你会如何处理?

    谢谢,

1 个答案:

答案 0 :(得分:1)

这是一篇文章,概述了适用于哪种情况的流程:https://leastprivilege.com/2016/01/17/which-openid-connectoauth-2-o-flow-is-the-right-one/