You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新建Sails项目登录时出现observeMySession接口403 CloudError求解决

解决Sails项目登录时observe-my-session端点403 Forbidden错误

问题现象

每次新建Sails项目并执行sails lift启动服务后,尝试登录时浏览器控制台会抛出如下错误:

CloudError: Endpoint (observeMySession) responded with an error (or the request failed).

具体错误详情显示请求POST http://localhost:1337/api/v1/observe-my-session返回403 Forbidden状态码。

解决方案

1. 调整接口权限策略

打开项目根目录下的config/policies.js,找到observe-my-session对应的路由配置,根据实际需求修改权限策略:

  • 如果需要登录后才能访问该接口,确保策略配置为会话认证:
    'api/v1/observe-my-session': ['sessionAuth'],
    
  • 如果需要允许未登录用户访问(比如登录流程初始化时调用),直接设置为true:
    'api/v1/observe-my-session': true,
    

2. 检查Socket.io与跨域配置

错误提示涉及ws协议,需确认Socket.io和CORS配置是否正常:

  1. 打开config/sockets.js,检查是否存在针对observeMySession事件的权限拦截规则,确保相关事件能正常触发。
  2. 开发环境下可临时放宽CORS限制(生产环境需严格配置),修改config/cors.js:
    module.exports.cors = {
      allRoutes: true,
      origin: '*',
      credentials: true
    };
    

3. 升级Sails版本

部分旧版Sails的默认项目模板存在该接口的权限配置bug,升级到最新稳定版后重试:

npm install sails@latest -g

之后重新创建项目并启动测试。

4. 确认会话中间件加载顺序

打开config/http.js,确保session中间件在正确的加载顺序中(需在bodyParser之后、router之前):

module.exports.http = {
  middleware: {
    order: [
      'cookieParser',
      'session',
      'bodyParser',
      'compress',
      'poweredBy',
      'router',
      'www',
      'favicon',
    ],
  },
};

内容的提问来源于stack exchange,提问作者Ashen madalagama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:42:55