/
websites
/
operateit-node
/
app
/
Middleware
/
Upload File
HOME
'use strict' const Env = use('Env') const axios = require('axios'); const SSOService = use('App/Services/SSOService'); class AuthCheck { async handle ({ session,request,response }, next) { let ssoService = new SSOService(); const bestFormat = request.accepts(['json', 'html']); let access_token = request.header("Accsess-Token"); if(access_token){ let user = null; let $headers = { "Authorization" : "Bearer "+access_token, }; await axios({ method: "GET", url: ssoService.$BASE_URI+"/connect/userinfo", data:null, headers: $headers, }) .then(function (res) { user = res; }).catch((error) => { }); if(user){ await next() }else{ if (bestFormat === 'json') { response.status(401).json({message : "Unauthorized",login_url: Env.get('APP_URL')+"/auth/login"}); }else{ response.redirect("/auth/login"); } } }else{ if (bestFormat === 'json') { response.status(401).json({message : "Unauthorized",login_url: Env.get('APP_URL')+"/auth/login"}); }else{ response.redirect("/auth/login"); } } } } module.exports = AuthCheck