3
私はlocalhost:3002で動作するフロントエンドを角で書いています。 私は、localhost:8080上で動作するSpring-bootで書かれたバックエンドを持っています。JSESSIONIDクッキーが保存されていません
私は(私がSOに発見し、自分のニーズに適応)CORSを処理するためのフィルタを追加しました:
@Component
public class CORSFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "http://localhost:3002");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
chain.doFilter(request, response);
}
public void destroy() {}
}
私が認証する場合、私は、サーバーがクッキーを送信していることがわかります。
このCookieは、次のリクエストでは送信されません。これが401の応答につながる:
私はクロームコンソールの「リソース」パネルを見て、クッキーが保存されていなかったことが分かりました。
アイデア?あなたは$httpProvider
を設定ファイルで