Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sails.js 如何从sails action2调用Passport身份验证函数_Sails.js_Passport.js_Passport Jwt - Fatal编程技术网

Sails.js 如何从sails action2调用Passport身份验证函数

Sails.js 如何从sails action2调用Passport身份验证函数,sails.js,passport.js,passport-jwt,Sails.js,Passport.js,Passport Jwt,我使用的是sails js v1.0。我不知道如何调用passport的authenticate函数。由于req、res和next在sails新控制器类型(action2)中不存在 我想在sails js v1应用程序中使用基于passport JWT的身份验证 fn:异步函数(输入、输出){ authenticate('jwt',{session:false},(err,user,info)=>{ })(输入、输出); }在中,简单介绍了访问req对象的两种方法 使用this.req 对于p

我使用的是sails js v1.0。我不知道如何调用passport的authenticate函数。由于req、res和next在sails新控制器类型(action2)中不存在

我想在sails js v1应用程序中使用基于passport JWT的身份验证

fn:异步函数(输入、输出){
authenticate('jwt',{session:false},(err,user,info)=>{
})(输入、输出);
}
在中,简单介绍了访问
req
对象的两种方法

  • 使用
    this.req
  • 对于
    passport.authenticate()
    函数,我使用了
    this.req
    this.res
    ,它工作了。 正如您所知,登录需要
    req.login()
    ,但在我的情况下,
    this.req
    没有passport派生的
    login()
    函数。所以,我没能以这种方式使用它

  • 使用
    env
    作为第三个参数
  • 在本文中,这种方法是一种替代方法,但在我的例子中,两者是不同的。 我可以访问
    env.req.login()

    因此,我认为使用
    env
    作为第三个参数比
    this.req
    更好

    fn:异步函数(输入、出口、环境){
    authenticate('jwt',{session:false},(err,user,info)=>{
    //写下你的代码。下面是一个例子。
    if(err | |!user)return exits.unauthorized();
    环境请求登录(用户、函数(错误){
    如果(错误)退出。错误(错误);
    返回退出。成功(用户);
    });
    })(环境要求、环境资源);
    }
    
    您找到解决方案了吗?是的,我找到了。您可以使用this.req来解决此问题。请将您的解决方案发布为您问题的答案?