【问题标题】:IdentityServer3: protect asp.net mvc app from unauthorized accessIdentityServer3:保护 asp.net mvc 应用程序免受未经授权的访问
【发布时间】:2017-10-09 08:14:54
【问题描述】:

环境使用 identityserver3 进行单点登录。我有一个客户端 Angular 应用程序,它使用 openid 与 identityserver 3 连接。我还有一个文件查看器 asp.net mvc 应用程序,用于呈现 pdf 和其他文件并且没有安全性。 Angular 应用程序在 iframe 中呈现文件查看器以显示文件的内容。

我尝试将文件查看器作为客户端添加到具有 openid 连接的身份,这样当用户登录到 Angular 应用程序时,用户也将单次登录到文件查看器应用程序,但它在 iframe 中不起作用当文件查看器由于 x-frame-options sameorigin 标头而重定向到身份的授权端点时。如果我打开文件查看器 url 是一个单独的选项卡,然后在角度应用程序中启动文件预览,那么角度应用程序中的调用开始工作,因为文件查看器 cookie 现在在浏览器中。

理想情况下,我希望文件查看器像 Web api 一样工作,它只验证传入的令牌,但不确定如何使用身份服务器来实现。

如何使用身份服务器保护文件查看器应用程序?我是否必须在管道中使用消息处理程序手动解码 jwt 令牌?

谢谢。

【问题讨论】:

    标签: asp.net-mvc oauth-2.0 identityserver3 claims-based-identity openid-connect


    【解决方案1】:

    如果您在本地渲染文件,您可以使用不记名身份验证,就像 webapi 一样。但是,因为您在 iframe 中使用 MVC,所以它有点棘手。您需要在新窗口中触发文件查看器的身份验证 - SSO 登录永远不应在 iframe 中发生。当您在 iframe 中调用文件查看器 mvc 应用程序时,这应该会为您提供身份验证凭据,通常是 cookie。

    【讨论】:

      猜你喜欢
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 2019-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多