Я пытаюсь использовать OAuth 2.0 в своем API REST в Node js, но я не могу сгенерировать access_token
Когда я пытаюсь сгенерировать access_token, появляется следующая ошибка Ошибка токена доступа Содержание -тип не совместим JSON
У меня следующий код
import { Request, Response } from 'express';
class OAuthController {
async obtenerToken(req: Request, res: Response) {
try {
console.log(req.body)
let grant_type = req.body.grant_type;
let username = req.body.username;
let password = req.body.password;
let client_id = req.body.client_id;
let client_secret = req.body.client_secret;
let scope = req.body.scope;
if (grant_type === "password" && client_id === "clientIdPDEZacatecas" && client_secret === "clientSecretPDEZacatecas") {
//Buscamos en mongo si el usuario existe con los parametros usuario y password
let existeUsuario = true;
if (existeUsuario == true) {
//GENERAMOS EL TOKEN
const credentials = {
client: {
id: 'clienteIdPDEZacatecas',
secret: 'clientSecretPDEZacatecas',
},
auth: {
tokenHost: 'http://localhost:3000/oauth'
}
};
const oauth2 = require('simple-oauth2').create(credentials);
const tokenConfig = {
username: username,
password: password,
scope: scope,
};
const result = await oauth2.ownerPassword.getToken(tokenConfig);
const accessToken = oauth2.accessToken.create(result);
console.log(accessToken)
res.status(200).json(accessToken);
}
else {
console.log('No existe el usaurio');
let error = {
error: 400,
message: 'Usuario no registrado'
}
res.status(400).json(error);
}
}
else {
console.log('Parametros incorrectos')
let error = {
error: 400,
message: 'Sin permisos'
}
res.status(400).json(error);
}
} catch (error) {
console.log('Access Token Error', error.message);
}
}
}
export const oAuthController = new OAuthController();
При выполнении кода моя консоль говорит Access Token Error The content-type is not JSON compatible
Я использую simple-oauth2 https://www.npmjs.com/package/simple-oauth2, с grant_type: password Я пытаюсь сгенерировать токен доступа