跳转至

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

请求示例

GET /api/open-app?accessToken=<jwt> HTTP/1.1

响应

结构:响应体为一段 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 为继承自原工具类的辅助方法,本端点未使用。