Есть файл сервера и файл аутентификации, мне нужно передать полученное значение из файла аутентификации в файл сервера. Я использую технология axios и примисы. Признаюсь: я почти ничего не понимаю в промисах и асинхронности, но мне нужна быстрая помощь.
Ниже приведу эти файлы.
server.js
const path = require('path');
const express = require('express');
const Axios = require('axios');
const bodyParser = require('body-parser');
const querystring = require('querystring');
let app = express();
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, 'public')));
const config = require('./config');
const PORT = config.credentials.PORT;
var FORGE_CLIENT_ID = 'myID';
var FORGE_CLIENT_SECRET = 'mySecret';
const scopes = 'data:read data:write data:create bucket:create bucket:read';
app.use('/api/forge', require('./routes/oauth'));
app.use((err, req, res, next) => {
console.error(err);
res.status(err.statusCode).json(err);
});
let server = app.listen(PORT, () => { console.log(`Server listening on port ${PORT}`) });
oauth.js
const path = require('path');
const express = require('express');
const Axios = require('axios');
const bodyParser = require('body-parser');
const querystring = require('querystring');
const config = require('../config');
var FORGE_CLIENT_ID = 'myId';
var FORGE_CLIENT_SECRET = 'mySecret';
const scopes = 'data:read data:write data:create bucket:create bucket:read';
let router = express.Router();
router.use(bodyParser.json());
let access_token = '';
router.get('/oauth', function (req, res) {
Axios({
method: 'POST',
url: 'https://developer.api.autodesk.com/authentication/v1/authenticate',
headers: {
'content-type': 'application/x-www-form-urlencoded',
},
data: querystring.stringify({
client_id: FORGE_CLIENT_ID,
client_secret: FORGE_CLIENT_SECRET,
grant_type: 'client_credentials',
scope: scopes
})
})
.then(function (response) {
access_token = response.data.access_token;
console.log(response);
res.redirect('/api/forge/datamanagement/bucket/create');
})
.catch(function (error) {
// Failed
console.error(error);
res.send('Failed to authenticate');
});
});
module.exports = router;
Чтобы продолжить аутентификацию я должен получить переменную access_token из файла oauth.js в файле server.js. Перепробовал все способы(которые я знал), но не получается. За любую помощь буду очень признателен.