Cookie和承载令牌在同一个应用程序中

Pep*_*dez 9 authentication cookies access-token oauth-2.0 asp.net-mvc-5

所以,这是我的情况.我有一个Web应用程序,用户可以在其中注册和管理/查看每次有医生预约时自动生成的数据.同时,此用户数据通过API向任何已批准的客户端(第三方应用程序)公开.此外,这些客户端可以将数据提供给API.因此,我的网站是其他客户端可以使用/提供的用户数据的中央存储库.没关系.

现在,我希望用户使用电子邮件和密码(而不是使用FB或Twitter等)在我的Web应用程序中创建帐户,以便他们可以对客户端进行身份验证和授权以访问其数据.典型的Facebook-Twitter/Apps关系.

当我尝试为我的网站实施正确的身份验证/授权方法时,我的困境就出现了.一方面,Web应用程序将提供对其用户的访问权限,以便他们可以查看他们的数据.想想你使用你的电子邮件和密码登录Facebook.这是在MVC5上完成的,几乎有一些迷你水疗中心实现...也许,所以我想在这里使用常规cookie,因为它都是"内部".同时,我必须实现OAuth/Bearer Token身份验证,以允许客户端访问我们的用户数据.

我在这里发现了这个问题.一起使用承载令牌和cookie身份验证

这是实施我的安全基础设施的正确方法吗?

谢谢!

And*_*ndy 1

当您使用 OpenID-connect 时,您将作为用户进行身份验证并取回令牌。在 ASP.NET 中,收到的 ID 令牌用于创建本地会话 cookie。您还可以将收到的令牌存储在 cookie 中。

然后,当您稍后想要访问 API 时,您可以从用户会话中获取令牌并使用访问令牌调用 API。

因此,是的,您通常总是在 OIDC 登录后创建一个基于 cookie 的会话。