Files
notes/work/移动杭研/业务梳理/登录相关/IBS 前后端交互 X-CSRF-TOKEN 逻辑.md
T
2026-03-01 01:43:46 +08:00

1.0 KiB

<meta name="_csrf" content="ee4476e9-8a3c-4c72-b263-fe5d8f3ad18c">
<meta name="_csrf_header" content="X-CSRF-TOKEN">
if (process.env.NODE_ENV == 'production') {  
    headers['X-Requested-With'] = 'XMLHttpRequest';  
    const _csrf_header = Dom.dom(Dom.query("meta[name='_csrf_header']")).attr('content');  
    const token = Dom.dom(Dom.query("meta[name='_csrf']")).attr('content');  
    if (_csrf_header && token) {  
        headers[_csrf_header] = token;  
    }  
} else {  
    headers['X-CSRF-TOKEN'] = await XTOKEN();  
}
x-csrf-token:ee4476e9-8a3c-4c72-b263-fe5d8f3ad18c

production 是生产。

下边是开发环境,会走 /admin/getCurrentUser 实际是后端的 /getCurrentUser

后台会

CsrfToken csrfToken = (CsrfToken) request.getSession().getAttribute(IBSCsrfTokenRepository.class.getName().concat(".CSRF_TOKEN"));  
if (csrfToken != null) {  
    userVO.setCsrfToken(csrfToken.getToken());  
}
c23b84266a894c68b336073c7a185edd
acc94df0fbbc482ca535edb1e52e5b09