很抱歉,标题不太清楚。
我所拥有的:此回购中带有“嵌入式” 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收集信息的后端客户端。
答案 0 :(得分:0)
关于登录页面-不,不能。原因-使用OIDC身份验证时,您将登录功能委托给提供程序(在您的情况下为Identity Server),并且它负责登录页面等。
现在有关您的Vue应用。 Vue是SPA。 SPA只能使用Implicit授予类型,因此,它们不会获得刷新令牌。
您的解决方案是在Vue应用程序中使用oidc-client-js库。我们已经实现了此方案(Vue在aspnet核心之上),并且效果很好。