繁体   English   中英

如何使用Identity Server 4保护Asp.net核心2.1和Vue.js单页面应用程序

[英]How to protect Asp.net core 2.1 and Vue.js single page application with Identity Server 4

实际上,我与架构师有些困惑,因为我有2个独立的应用程序和1个Identity Server4应用程序,这是AspNet核心2.1 API解决方案之一,它在不同的域和服务器上运行,并且与其他2个相同。现在,我有以下几点要点:

  1. 已将我的客户端应用程序(即Vue.js SPA)添加为Identity Server4中具有隐式模式的客户端,因为它是Js客户端
  2. 我是否需要将API应用程序添加为IDP服务器中的客户端。
    1. 如果是,那么从Vue.js应用程序登录时,如何使用Axios从VUE.js调用任何API,它将获得该客户端的令牌,并将用于显示隐藏按钮或我的网页部分。
    2. 我有点困惑,是否应该使用我从vue.js客户端获得的Claims来验证API。
    3. 如果我在Identity Server 4中注册了客户端的API,则如何从vue.js客户端应用程序调用api。
  1. 您应该将API作为ApiResource添加而不是作为客户端添加,然后在启动中注册它。 您可以在此处检查所有配置的JS应用程序的快速入门: https : //github.com/IdentityServer/IdentityServer4.Samples/tree/master/Quickstarts/6_JavaScriptClient

  2. 在javascript客户端中,您需要调用Identity Server并进行身份验证。 有一个库可以帮到你: https//github.com/IdentityModel/oidc-client-js 快速入门中也使用了它,因此您可以看到它是如何完成的。

  3. 在每次调用API时,必须使用从Identity Server获得的访问令牌将授权标头设置为“ Bearer”。 另外,不要忘记在API中设置Jwt承载认证。

我之前提到的快速入门中有一些示例代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM