我正在使用基本身份验证的Sails.JS并尝试从iOS客户端进行通信。
我已经在sails.js中定义了一个auth策略,其中包含所有REST API的设置Autorization: Basic dfjghleiughlaeughlsi
标头,并且它运行良好。
使用Socket.IO时出现问题。
我使用SIOSocket库用于iOS客户端并在服务器端发送相同的接收,Sails.js尝试将其解释为HTTP请求,最终的HTTP请求缺少授权标头。
我正在使用sails.io.js客户端库并设置requestCtx.headers.authorization = 'Basic akjfblajasoidhgoaihu==';
并在服务器端发生同样的事情。
以下是我看到的服务器端的日志
verbose: Receiving incoming message from Socket.io: { data: { id: '568ea5fb8e8b0c995167cd62' },
method: 'post',
headers: { authorization: 'basic akjfblajasoidhgoaihu==' },
url: '/v8/user/setOnline' }
verbose: Interpreting socket.io message as virtual request to "post /v8/user/setOnline"... { host: undefined,
cookie: 'true=03FRq_UQ1hB6IdcvAAAC; sails.sid=s%3AhaOna60cfWI3y_6orhN_tmeEDcenA5NB.%2Fp4AQKEyW56nfQT3ithyNeQLyx5frX2yoAvVnCvY9U0',
authorization: 'basic akjfblajasoidhgoaihu==',
origin: undefined }
silly: Handling virtual request :: Running virtual querystring parser...
silly: Handling virtual request :: Running virtual body parser...
在我的身份验证政策请求中没有任何授权标头。
感谢任何帮助。