Я реализовал пакет node-oauth2-server (https://github.com/thomseddon/node-oauth2-server).
const Model = require('./services/oauth2_service');
app.oauth = new oauthServer({
model: Model,
grants: ['client_credentials', 'authorization_code'],
debug: true
});
Я реализовал все необходимые методы для client_credentials и authorization_code внутри файла модели.
когда мне нужно сгенерировать access_token, используя тип гранта client_credentials, я могу просто позвонить, используя:
app.all('/oauth/token', function (req, res, next) {
var request = new Request(req);
var response = new Response(res);
app.oauth
.token(request, response)
.then(function (token) {
let newToken = {
'access_token': token.accessToken,
'expires':token.accessTokenExpiresAt
}
return res.json(newToken)
}).catch(function (err) {
console.log('catch ma cha');
return res.status(500).json(err)
});
});
Таким же образом теперь мне нужно вызвать поток authorization_code с сервера, как мне добиться этой функциональности.