Я пытаюсь реализовать промежуточное программное обеспечение на экспресс-сервере, который устанавливает пользовательские заголовки uid / admin для входящего запроса.Затем этот модифицированный запрос будет использоваться после промежуточного программного обеспечения, чтобы определить, имеет ли аутентифицированный пользователь / администратор доступ к этому конкретному ресурсу.
Чтобы сделать это для клиента, я просто беру токен в заголовке авторизации и передаю его вметод verifyIdToken API администратора Firebase.Если uid существует, я устанавливаю заголовок.Например:
app.use((req, res, next) => {
/* get rid of headers sent in by malicious users. */
delete req.headers._uid;
try {
const token = req.headers.authorization.split(' ')[1];
_dps.fb_admin.auth().verifyIdToken(token).then(claims => {
if (claims.uid) { req.headers._uid = claims.uid; }
next();
}).catch(err => next());
} catch(err) { next(); }
});
Два вопроса:
1) Как администратор с учетной записью службы на другом сервере, как мне отправить запрос на этот сервер, чтобы этот сервер мог определитьадминистратор отправил запрос?
2) Как мне определить администратора на этом сервере?