Решением было использование другого подхода.
Существует конечная точка Auth0, которая использует пользователя и пароль для входа в систему со службой.Таким образом, я могу получить идентификатор аутентифицированного пользователя и токен JWT, который я могу использовать для проверки будущих запросов.
https://auth0.com/docs/api/authentication#resource-owner-password
Этот поток должен использоваться только издоверенные приложения, которые не могут выполнять перенаправления.Если вы можете использовать потоки на основе перенаправления из своих приложений, мы рекомендуем использовать вместо этого Предоставление кода авторизации.
router.post('/login', function (req, res, next) {
var options = {
method: 'POST',
url: process.env.AUTH0_URL_OAUTH,
headers: {
'Cache-Control': 'no-cache',
'Content-Type': 'application/json'
},
body: {
grant_type: 'password',
username: req.body.username,
password: req.body.password,
audience: process.env.AUTH0_AUDIENCE,
scope: process.env.AUTH0_SCOPE,
client_id: process.env.AUTH0_CLIENT_ID,
client_secret: process.env.AUTH0_CLIENT_SECRET
},
json: true
};
request(options, function (error, response, body) {
if (error) {
res.sendStatus(500); //We could not connect to the service
} else {
if (body.error) {
console.log(body);
res.status(400);
res.send({
error: body.error_description // There was an error with the user or password
});
} else {
console.log(body);
/**
* Everything went well. We return the JWT
*/
res.send({
access_token: body.access_token,
expires_in: body.expires_in,
token_type: body.token_type
});
}
};