JumpToController(跳转控制器)¶
cn.myapps.signon.auth.controller.JumpToController,类级 @RequestMapping("${myapps.context-path.signon:}")。提供登录后向门户首页的跳转:把 query 参数中的 accessToken 写入长期 cookie,再用 JavaScript 跳转到固定的门户入口页。
控制器基址:
${myapps.context-path.signon:}(部署时替换;lite 统一打包下前缀多一层/signon)。下列「请求路径」为相对基址的路径。完整 URL ={signon-context}<相对路径>。鉴权:本控制器端点位于认证服务内,不要求 accessToken。
/api/open-app不在PassFilter白名单,但CommonSecurityFilter不做 token 校验,仍可匿名访问(详见 index.md 鉴权说明)。
1. 跳转到门户首页¶
把 query 参数中的 accessToken 写入 cookie(有效期 7 天,path=/),再用 JavaScript 跳转到门户 Vue 首页。
- 接口类型:页面视图(控制器方法返回
void,直接写 HTML 到HttpServletResponse;类级@GetMapping上的@ResponseBody已注释,方法实际无返回值) - 请求方式:
GET - 请求路径:
/api/open-app(完整:{signon-context}/api/open-app) - 鉴权:否
- Tag:signon(控制器未声明
@Tag)
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| accessToken | query | string | 是 | 待写入 cookie 的 accessToken |
请求示例¶
响应¶
结构:响应体为一段 HTML/JS 字符串。先 Set-Cookie: accessToken=<jwt>; Path=/; Max-Age=604800,再返回 <script>window.location.href='<scheme>://<host>:<port>/static/portal/vue/index.html'</script>。其中 <scheme>/<host>/<port> 取自当前请求。
成功示例:
HTTP/1.1 200 OK
Set-Cookie: accessToken=<jwt>; Path=/; Max-Age=604800
<script>window.location.href='http://host:8085/static/portal/vue/index.html'</script>
控制器内
success/getDispatchURL/getLogoutRedirect为继承自原工具类的辅助方法,本端点未使用。