feathers-authentication version 1 app.authenticate 不适用于套接字
feathers-authentication version 1 app.authenticate not working with sockets
我已经设置了带有 ldap 身份验证的 feathersjs,这需要 feathers-authentication version 1。它在休息时使用 app.authenticate 工作正常,但在使用套接字时失败。启用调试后,我确认服务器获取凭据并成功生成令牌。但是,客户端无法获得响应。服务器正在发出 'authentication created',客户端仅在使用 socket.on('authentication created')
时才获取,而不是在使用 app.authenticate()
时获取。我知道我可以使用普通套接字并完成工作,但文档建议使用 app.authenticate
然后使用 app.service('someService')
.
以下代码片段适用于 rest,但不适用于 socket。
app.authenticate({
type: 'local',
endpoint: '/authentication',
strategy: 'ldap',
'username': 'user',
'password': 'password'
}).then(function(result){
console.log('Authenticated!', app.get('token'));
}).catch(function(error){
console.error('Error authenticating!', error);
});
这是我设置套接字的方式:
var socket = io(apiDomain, {
transport: ['websockets']
});
// Set up Feathers client side
var app = feathers()
.configure(feathers.socketio(socket))
.configure(feathers.hooks())
.configure(feathers.authentication({ storage: window.localStorage }));
feathers-authentication
版本 1.x 仅适用于使用模块加载器的 feathers-client v2.0.0-pre.1
or later. This is currently still a prerelease and has to be installed accordingly (npm install feathers-client@pre --save
) or by loading the individual module feathers-authentication-client。
我已经设置了带有 ldap 身份验证的 feathersjs,这需要 feathers-authentication version 1。它在休息时使用 app.authenticate 工作正常,但在使用套接字时失败。启用调试后,我确认服务器获取凭据并成功生成令牌。但是,客户端无法获得响应。服务器正在发出 'authentication created',客户端仅在使用 socket.on('authentication created')
时才获取,而不是在使用 app.authenticate()
时获取。我知道我可以使用普通套接字并完成工作,但文档建议使用 app.authenticate
然后使用 app.service('someService')
.
以下代码片段适用于 rest,但不适用于 socket。
app.authenticate({
type: 'local',
endpoint: '/authentication',
strategy: 'ldap',
'username': 'user',
'password': 'password'
}).then(function(result){
console.log('Authenticated!', app.get('token'));
}).catch(function(error){
console.error('Error authenticating!', error);
});
这是我设置套接字的方式:
var socket = io(apiDomain, {
transport: ['websockets']
});
// Set up Feathers client side
var app = feathers()
.configure(feathers.socketio(socket))
.configure(feathers.hooks())
.configure(feathers.authentication({ storage: window.localStorage }));
feathers-authentication
版本 1.x 仅适用于使用模块加载器的 feathers-client v2.0.0-pre.1
or later. This is currently still a prerelease and has to be installed accordingly (npm install feathers-client@pre --save
) or by loading the individual module feathers-authentication-client。