is_admin如果前后端分离了部署在不同端口号上,request.getSession.setAttribute("token")第二次就获取不到了

来源:5-6 实现授权码认证流程(2)

慕粉1461747745

2019-11-07

各位大佬们好,小白有个问题,请问如果is_admin前后端jboot项目和angularjs项目分离部署在不同端口号上后(分别是8044和4200),oauth/callback函数的request.getSession.setAttribute(“token”, responseEntity.getBody);将token放到request的session中后,前端项目每次请求,request都是新的吧,session中取不到token,就会在/me方法和/oauth/callback方法中陷入死循环,这该怎么解决呢?

![![图片描述
图片描述
图片描述这里的request的session是null,所以返回了null的tokenInfo,导致前端一直循环/me

写回答

1回答

JoJo

2019-11-07

配redirect地址不要直接配后端的8044端口,配成前端的4200端口的地址,然后由前端转发给后端,这样回调请求和前端请求就同域了。

0
1
慕粉1461747745
老师老师好,您的意思是跨域引起的是么,需要在前端window.location.href=blablabla+"redirect_uri"这里改成4200么,但是我已经配置类corsConfig,之前课程的前端的login()函数的this.credentials后端能获取到了,这种情况也是跨域么,谢谢老师啦
2019-11-07
共1条回复

Spring Cloud微服务安全实战 可落地的安全方案

从API到复杂微服务场景,实战部署可落地的安全方案。

1029 学习 · 370 问题

查看课程