我是nuxt js的新手,我想在我的nuxt js应用程序中使用auth-module。因此,请告诉我为什么我在根页面“ /”中出现此“ jwt格式错误”错误。
使用此代码制作请求表单register.vue文件后,我获得了访问令牌
methods: {
register() {
try {
this.$auth.loginWith('local', {
data: {
username: this.name,
password: this.password
}
})
} catch (error) {
console.log(error)
}
}
}
我遵循所有安装nuxt js和auth-module的标准方法。
这是nuxt.config.js文件的代码
serverMiddleware: ['~/api/auth'],
auth: {
strategies: {
local: {
endpoints: {
login: {
url: '/api/auth/login',
method: 'post',
propertyName: 'token.accessToken'
},
logout: {
url: '/api/auth/logout',
method: 'post'
},
user: {
url: '/api/auth/user',
method: 'get',
propertyName: 'user'
}
}
// tokenRequired: true,
// tokenType: 'bearer'
}
}
},
eslint: {
fix: true
},
/*
** Axios module configuration
** See https://axios.nuxtjs.org/options
*/
axios: {
proxy: true
},
proxy: {
'/api': 'http://localhost:3000'
},
这是api / auth.js文件中的代码
const express = require('express')
const bodyParser = require('body-parser')
const cookieParser = require('cookie-parser')
const jwt = require('express-jwt')
const jsonwebtoken = require('jsonwebtoken')
// Create app
const app = express()
// Install middleware
app.use(cookieParser())
app.use(bodyParser.json())
// JWT middleware
app.use(
jwt({
secret: 'dummy'
}).unless({
path: '/api/auth/login'
})
)
// -- Routes --
// [POST] /login
app.post('/login', (req, res, next) => {
const { username, password } = req.body
const valid = username.length && password === '123'
if (!valid) {
throw new Error('Invalid username or password')
}
const accessToken = jsonwebtoken.sign(
{
username,
picture: 'https://github.com/nuxt.png',
name: 'User ' + username,
scope: ['test', 'user']
},
'dummy'
)
res.json({
token: {
accessToken
}
})
})
// [GET] /user
app.get('/user', (req, res, next) => {
res.json({
user: req.user
})
})
// [POST] /logout
app.post('/logout', (req, res, next) => {
res.json({
status: 'OK'
})
})
// Error handler
app.use((err, req, res, next) => {
console.error(err) // eslint-disable-line no-console
res.status(401).send(err + '')
})
// -- export app --
module.exports = {
path: '/api/auth',
handler: app
}
我只想解决此“ UnauthorizedError:jwt格式错误”错误。