2017-02-09 36 views
0

我有一个托管JavaScript客户端应用程序的ASP.NET Core MVC服务器应用程序。 JS应用程序当前使用带隐式流的Oidc身份验证。 MVC服务器应用程序提供文件下载功能,并需要对用户进行身份验证。IdentityServer4:在ASP.NET Core MVC服务器应用程序和JavaScript客户端之间共享身份验证

当用户登录JS客户端并单击引用MVC服务器后端的下载链接并且服务器应接受已经过身份验证的用户时,是否有方法或示例说明如何配置这两个应用程序以支持方案?

此外,如果用户尚未通过身份验证并在浏览器中导航到下载URL,则MVC后端应在重新导向到身份服务器登录页面之前继续下载。

我已经尝试过几种配置,但是两个客户端的行为都是独立的,第一次登录后,MVC服务器不会在一个浏览器会话内反映JS客户端用户切换。

回答

1

在你的MVC应用程序,其配置为使用适当的设置使用IdentityServer中间件(如app.UseIdentityServerAuthentication在Startup.Configure)为AllowedScopesAuthority

然后与Authorize属性装饰你的控制器动作,和请确保从前端到后端的所有呼叫都正确地将Authorization标头设置为不记名令牌(这是您通过成功登录而获得的前端访问令牌)。

相关问题