IdentityServer3 - OAuth 流,不同的方法

IdentityServer3 - OAuth Flows, different approaches

本文关键字:方法 OAuth IdentityServer3      更新时间:2023-09-26

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

不能说服我的是如何处理当前仅使用基于 cookie 的身份验证(+防伪令牌)调用我的 Web API 的 SPA。这个应用程序是用Javascript编写的,基于Backbone。实质上,它所做的只是调用我的 Web API 并呈现结果。我对不同的赠款流感到困惑,我不想造成安全漏洞。

我想过的解决方案:

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

你会如何处理这个问题?

谢谢

马可

这里有一篇文章概述了哪种流适合哪种方案: https://leastprivilege.com/2016/01/17/which-openid-connectoauth-2-o-flow-is-the-right-one/