将IdentityServer与ASP.NET +嵌入式SPA JS框架一起使用

时间:2018-08-07 10:14:01

标签: javascript asp.net identityserver4

很抱歉,标题不太清楚。

我所拥有的:此回购中带有“嵌入式” Vue.js 2的ASP.NET应用程序:https://github.com/MarkPieszak/aspnetcore-Vue-starter

我已经研究过Identity Server 4手册,所以我尝试了使用纯ASP.NET的混合流和使用带纯JS的oidc-client的隐式流。两种流程都对我有用。

但是我想要的是使用ASP.NET中托管的JS页面来获取访问令牌并刷新令牌并将其存储在ASP.NET中。在这种情况下,ASP.NET充当后端(而不是资源API!)。

也许(可选)有一种创建自定义登录表单的方法。用户填写此表单,JS将登录名和密码发送到ASP.NET后端,然后依次将它们发送到Identity Server并检索令牌。

我想知道是否有可能完全使用这种方案,以及它是否可行且足够安全。

欢迎任何假设!

编辑: 我真正想要的是将Vue仅用于显示数据,同时将ASP.NET用作从资源API收集信息的后端客户端。

1 个答案:

答案 0 :(得分:0)

关于登录页面-不,不能。原因-使用OIDC身份验证时,您将登录功能委托给提供程序(在您的情况下为Identity Server),并且它负责登录页面等。

现在有关您的Vue应用。 Vue是SPA。 SPA只能使用Implicit授予类型,因此,它们不会获得刷新令牌。

您的解决方案是在Vue应用程序中使用oidc-client-js库。我们已经实现了此方案(Vue在aspnet核心之上),并且效果很好。