feathers.js - >验证令牌丢失

时间:2017-04-02 08:07:48

标签: feathersjs

我有一个feathters.js应用程序,现在我想保护创建和更新挂钩。我使用socket.io客户端,目前正在使用JWT。我已经添加了我认为需要添加的内容,但我收到了E:\test\00037_20161001_100956 01 -trimmed.movError: Authentication token missing。后来我理解的是我的代码。我有一个后端/前端情况

所以这就是我迄今为止实施的内容。

文件:backend \ backend.js(在backend \ index.js中调用,用于配置应用程序)

Error Authenticating

文件:backend \ config \ default.json

'use strict';

const path = require('path');
const serveStatic = require('feathers').static;
const favicon = require('serve-favicon');
const compress = require('compression');
const cors = require('cors');
const feathers = require('feathers');
const configuration = require('feathers-configuration');
const authentication = require('feathers-authentication');
const hooks = require('feathers-hooks');
const rest = require('feathers-rest');
const bodyParser = require('body-parser');
const socketio = require('feathers-socketio');
const middleware = require('./middleware/index');
const services = require('./services/index');

const appFeathers = feathers();

appFeathers.configure(configuration(path.join(__dirname, '..')));

appFeathers.use(compress())
    .options('*', cors())
    .use(cors())
    .use(favicon(path.join(appFeathers.get('public'), 'favicon.ico')))
    .use('/', serveStatic(appFeathers.get('public')))
    .use(bodyParser.json())
    .use(bodyParser.urlencoded({extended: true}))
    .configure(hooks())
    .configure(rest())
    .configure(socketio())
    .configure(services)
    .configure(middleware)
    .configure(authentication());

module.exports = appFeathers;

在前端的工作组件中:

{
    "host": "localhost",
    "port": 3001,
    "mysql_connection": "mysql://CONNECTION_STRING",
    "public": "../public/",
    "auth": {
        "idField": "id",
        "token": {
            "secret": "SECRET_KEY"
        },
        "local": {}
    }
}

作为令牌,我有后端json文件的密钥。如您所见,现在我只尝试记录控制台消息。它正在为我的错误消息做些什么。

问题

我想知道这有什么功能?

目标

以防万一需要它。我的目标是让所有公众'要在我的客户端中使用令牌选择的数据,然后管理部分可能使用0auth。所以一般' SELECT'通过令牌保护东西而不是根本不进行身份验证。

解决方案

好的,我解决了,有点儿。我首先需要创建一个用户。然后我需要与用户进行本地登录。这会返回一个令牌。如果我使用它,那就没有问题了。

1 个答案:

答案 0 :(得分:0)

要使用令牌,您必须首先确保它已生成。我使用密钥作为令牌并不正确。当您第一次使用本地'键入(默认电子邮件和密码)它将创建一个令牌,然后您可以使用该方法'令牌'