我确实有类似的情况。
通过 JSF 应用程序登录页面(App1)对用户进行身份验证,并在链接上单击调用 servlet,在 doPost() 内部使用令牌/JWT 创建 Cookie,并将 cookie 添加到响应标头并重定向到 Angular JS(应用程序 2)。
Angular 应用程序从 cookie 读取令牌并在本地环境中运行良好。
但同样不适用于真实域名。获取未定义的 cookie。
doPost() Domain.com/App1 内部
Cookie cookie = new Cookie("AUTH_SESSION", URLEncoder.encode(
token, "UTF-8"));
cookie.setDomain(domain.com);
cookie.setMaxAge(30);
cookie.setHttpOnly(false);
cookie.setPath(“/”);
response.addCookie(cookie);
String redirectUrl = bean.getRedirectServletUrl();
response.sendRedirect(redirectUrl);
AngularApp 内部
Domain.com/app2
angular.module('app').service('CookieInitializer',
['$cookies', 'Session', '$location', CookieInitializer]);
function CookieStateInitializer($cookies, Session, $location) {
var init = function() {
var cookie = $cookies.get('FS_SESSION'); // undefined when using domain name
这两个应用程序都通过上下文路径来区分。并添加代理以使两个应用程序使用相同的域名。
Domain.com/app1
domain.com/app2 --> apphost.com:443