在hapijs jwt身份验证中未知的身份验证策略jwt

时间:2017-02-06 08:56:26

标签: jwt hapijs

我正在使用hapi-auth-jwt进行身份验证 但是在登录时我使用auth策略作为jwt,它在/ login 中显示未知身份验证策略jwt 我在用胶水 这是我的代码

manifest.js

    module.exports      = {
        server        : {},
        connections   : [
            {
                host: apiConfig.server.host,
                port: apiConfig.server.port
            },

        ],
        registrations : [
            {
                'plugin': {
                    register: 'hapi-auth-jwt',
                },
            },
        ]
    };

server.js

        glue.compose(manifest, manifestOptions, (error, server) => {
            if(error)
                throw error;

            mongoose.connect("mongodb://" + apiConfig.database.host + '/' + apiConfig.database.dbname, (error) => {
                if(error)
                    console.log(error);
                else
                    console.log('mongodb connected');
            });



            server.app.assetsPath = Path.resolve(__dirname, '../assets');

            server.start(() => {
                console.log("Api server running " + server.info.uri);
            });

            server.auth.strategy('jwt', 'jwt', {
                key: apiConfig.authentication.secretKey,
                verifyOptions: {
                    algorithms: ['HS256']
                }
            });
        }

route.js

    {
        method : 'POST',
        path   : '/login',
        config : {
            auth: {
                  strategy: 'jwt',
               },
            tags       : ['api'],
            description: 'Customer login',
            plugins    : {
                'hapi-swagger': {
                    payloadType: 'form'
                }
            },
            /*validate   : {
                failAction: Relish.failAction,
                options   : {
                    abortEarly: false
                },
                payload   : loginSchema
            },*/
        },
        handler: handler.loginHandler
    }

1 个答案:

答案 0 :(得分:0)

我正在胶水清单中加载我的路线,之后只有我正在注册我的身份证明。所以我在路线注册之前将胶水的清单中包含了auth注册