【发布时间】:2021-05-26 06:42:16
【问题描述】:
我正在学习identityserver4,有些东西看不懂。
简短地说:我想在 ASP.NET MVC 客户端使用电子邮件和密码授权最终用户(它会将用户凭据发送到令牌服务器以获取令牌),并且我不希望第三方客户端检索我的 API 资源中的数据。
我从文档中了解到:
-
隐式流用于 SPA(js 客户端)并使用 id_token 授权用户。我可以在浏览器中存储 id_token。
-
客户端凭据流用于受信任的应用程序(如 ASP.NET MVC 客户端)来授权客户端并使用
access_code。我可以在我的应用程序中存储access_code。
看来我需要一个混合流。
在documentation 中我读到我需要使用AddOpenIdConnect() 方法和
从技术上讲,令牌存储在 cookie 的属性部分中。
所以我的问题:
-
如果
id_token可以存储在浏览器中,为什么将access_token也存储在那里不安全? -
正如文档所述,令牌存储在 cookie 的属性部分中。令人困惑的是,因为一些指南说,在那里存储
access_token是不安全的。那么我应该在我的 ASP.NET MVC 客户端中的哪里存储访问令牌? -
我说得对吗,
AddOpenIdConnect()将我的 ASP.NET MVC 应用程序配置为自动从令牌服务器检索access_token?如果是,我应该在什么时候使用电子邮件/密码授权用户,以及当我向 api 资源发送请求时,如何在我的 ASP.NET MVC 客户端后端的一个 JWT 中组合所有令牌?
【问题讨论】:
标签: asp.net-core identityserver4