把token存到cookie中的代码,并且在用户每次发请求的时候都带着这个token
时间: 2024-05-15 09:14:45 浏览: 146
抱歉,我可以回答这个问题。将 token 存到 cookie 中的代码如下:
```
document.cookie = "token=" + token + ";path=/";
```
每次用户发请求时,在请求头中带上该 token,示例如下:
```
Authorization: Bearer <token>
```
相关问题
需求:从门户网址,携带集中认证的Access_token,怎么直接跳转到crm系统首页(跳过登录页)?crm系统现状:正常登录会返回token、crmToken、ssoToken和userName,这四个值需要被携带在请求头中才能正常访问crm的接口。应该怎么实现这个登录跳转呢?
要实现从门户网站带着集中认证的Access_token直接跳转到CRM系统的首页,同时避免登录页面并传递必要的信息,通常需要通过前端JavaScript配合后端API进行操作。以下是一种常见的步骤:
1. **前端处理**:
- 用户在门户登录成功后,服务器返回带有`Access_token`的响应。
- 使用JavaScript(如jQuery、axios等),创建一个新的窗口或弹窗,并设置其URL为CRM系统的首页地址。
- 添加查询参数或URL片段来包含`Access_token`,例如:
```javascript
const url = 'https://crm.example.com/home?access_token=' + encodeURIComponent(Access_token);
window.open(url, '_blank', 'noopener noreferrer');
```
- 同时,在新窗口打开时,可以尝试设置一些头部信息,包括`Authorization`字段,但因为CRM系统需要其他几个值(token、crmToken、ssoToken和userName),可能需要进一步协调后端。
2. **后端协调**:
- 如果CRM系统允许前端通过某种API接口验证凭据(如OAuth回调),则可以在新窗口加载过程中发送一个包含所有必要令牌的POST请求到这个接口。
- 后端检查这些令牌的有效性,如果验证通过,可能会返回一个带有`Set-Cookie`的响应,用于存储用户的会话信息。
3. **跨域策略**:
- 如果两个网站不在同一个域名下,你还需要处理CORS(Cross-Origin Resource Sharing)限制,确保CRMS系统接受来自门户站点的请求。
注意:在整个过程中,安全性是非常重要的,确保所有的传输都是加密的,并且只信任来自已知源的请求。
阅读全文