- Управление пользователями / Управление сеансами через другое внешнее приложение (например, брандмауэр веб-приложений WAF)
- внешнее приложение отправляет JWT с информацией о пользователе в заголовке запроса в приложение
- Приложение Angular6 нуждается вИнформация из заголовка запроса ... ???
Приложение Angular должно отображать некоторую информацию о пользователе.Управление пользователями осуществляется внешним приложением, которое перенаправляет только аутентифицированных пользователей в приложение Angular и добавляет информацию о пользователе в заголовок запроса.Сервисного API для запроса информации о пользователе не существует.Информация о пользователе отправляется в приложение только через заголовок запроса (доступно только на стороне внешнего сервера).
Как я могу прочитать / передать информацию о пользователе в угловое приложение?
Намерение: * Экспресс-прокси для обслуживания угловых приложений и пересылки информации заголовка запроса.Потому что у angular нет возможности прочитать заголовок запроса.
Идея состоит в том, чтобы написать прокси для обслуживания приложения angular.Этот прокси, например, экспресс-приложение, может прочитать заголовок запроса и передать его в угловое приложение.
Я могу обслуживать угловое приложение, но (1) как я могу передать информацию заголовка?-> Как передать переменные / данные в приложение Angular?
Не так важно Вопрос, потому что есть несколько библиотек: (2) как декодировать jwt и проверять его (подписанный jwt) и передавать тольконекоторая информация из полезной нагрузки.
Для сервера углового приложения мой экспресс-код выглядит следующим образом:
const html = __dirname + '/angularApp/dist/angularApp';
const http = require('http');
const port = 4000;
// Express
const bodyParser = require('body-parser');
const compression = require('compression');
const express = require('express');
var app = express();
app // config to serve angular app
.use(compression())
.use(bodyParser.json())
// Static content
.use(express.static(html));
app // Start server
.listen(port, function () {
console.log('Port: ' + port);
console.log('Html: ' + html);
});
Структура файла:
- root
-- server.js
-- angularApp
--- dist
---- angularApp
----- ... angular app build files
--- ... angular app files
Ожидаемый результат: Angular App отображает пользовательские данные, которые отправляются через заголовок запроса.
Фактический результат: Angular App не получает никаких пользовательских данных.