flexbiz-server
Version:
Flexible Server
4 lines (3 loc) • 1.03 kB
JavaScript
'use strict';const User=global.getModel("user"),BearerStrategy=require("passport-http-bearer").Strategy;
module.exports=function($passport$$){$passport$$.use(new BearerStrategy({passReqToCallback:!0},function($req$$,$token$$,$done$$){let $ip$$=$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,$session_created$$=($req$$.cookies||{}).uid;setImmediate(function(){User.findByToken($token$$,$ip$$,async function($err$$,$user$$,$tokenInfo$$){if($err$$)return $done$$($err$$);if($tokenInfo$$.once&&$tokenInfo$$.used)return console.error("can't use token",$token$$,"at",$req$$.originalUrl),
$done$$("Token n\u00e0y \u0111\u00e3 h\u1ebft hi\u1ec7u l\u1ef1c");if(!$user$$)return $done$$(null,!1);if(0==$user$$.status)return $done$$("T\u00e0i kho\u1ea3n n\u00e0y kh\u00f4ng c\u00f2n hi\u1ec7u l\u1ef1c");$user$$.toObject&&($user$$=$user$$.toObject());$user$$.token_id_app=$tokenInfo$$.only_id_app;$user$$.token_id_apps=$tokenInfo$$.id_apps;return $done$$(null,$user$$)},{session_created:$session_created$$})})}))};