Open scvjx opened 5 years ago
file : lib\units\app\middleware\auth.js
var jwtutil = require('../../../util/jwtutil')
var urlutil = require('../../../util/urlutil')
var dbapi = require('../../../db/api')
module.exports = function(options) {
return function(req, res, next) {
if (req.query.jwt) {
// Coming from auth client
var data = jwtutil.decode(req.query.jwt, options.secret)
var redir = urlutil.removeParam(req.url, 'jwt')
if (data) {
// Redirect once to get rid of the token
dbapi.saveUserAfterLogin({
name: data.name
, email: data.email
, ip: req.ip
})
.then(function() {
req.session.jwt = data
res.redirect(redir)
})
.catch(next)
}
else {
// Invalid token, forward to auth client
res.redirect(options.authUrl)
}
}
else if (req.session && req.session.jwt) {
dbapi.loadUser(req.session.jwt.email)
.then(function(user) {
if (user) {
// Continue existing session
req.user = user
next()
}
else {
// We no longer have the user in the database
res.redirect(options.authUrl)
}
})
.catch(next)
}
else {
//set a fixed account to login
var token = jwtutil.encode({
payload: {
email: 'xxx@xxx.com'
, name: 'xxxx'
}
, secret: options.secret
, header: {
exp: Date.now() + 24 * 3600
}
})
res.redirect(urlutil.addParams(req.url, {
jwt: token
}))
// res.redirect(options.authUrl)
}
}
}
Refer to this blog: https://blog.csdn.net/bhlice/article/details/79127687
HELLO, I have own login page and devices list page . How can the page redict the control page, after user click my devices list page link? the link as http://XXXX:7100/#!/control/988954353858554a59