我们提供安全,免费的手游软件下载!
软件构成
软件构成包括后端和前端两部分。后端项目使用asp.netcore webapi,并且使用jwt进行身份验证和鉴权。而前端项目则是基于http协议的asp.netcore RazorPage项目,但实际上完全使用wwwroot目录下的静态文件,没有使用RazorPage。目前,只有后端接口进行了鉴权,前端页面则可以被任意访问。
身份验证需求
最近安全方面的要求要求对前端页面进行身份验证,而只开放登录页面和第三方系统跳转到该系统页面的功能。初始的解决办法是后端登录生成token后,将其存储在redis中。接下来的解决思路如下:
问题
在新标签页打开页面的情况下,身份验证方式运行良好,没有任何问题。但是使用cookie进行身份验证存在一个问题,即iframe框架限制了跨域的cookie提交。这导致当redirect页面被嵌入其他系统时,本地cookie被禁止写入,且不会被放入请求中,因此会一直跳转到登录页面。即便使用会话cookie同样会被浏览器禁止写入,这就带来了一些麻烦。尝试了一些解决方法,但问题依然存在。
最终方案
最终决定采用两种方案并通过url传递token。对于不同域名的第三方系统,iframe打开的页面还可能存在弹窗子页面,需要改造原来的iframe中的页面,把token添加到其弹窗的子页面url中。而对于域名不同、顶级域名不同的系统,采用第二种方案会更加省心。
相关资讯
热门资讯