Ответ 1
Вы должны сделать это довольно легко, используя Aurelia HTTP-перехватчики (см. примеры в документах). Перед каждым запросом вы можете отправить свой токен. Это можно сделать как с обычным aurelia-http-client
, так и с новым стандартом aurelia-fetch-client
.
Ваш код может выглядеть так:
export class MyRestAPI {
static inject () { return [HttpClient]; } // This could easily be fetch-client
constructor (http) {
this.http = http.configure(x => {
x.withBaseUrl(myBaseUrl);
x.useStandardConfiguration();
x.withInterceptor({
request: function (request) {
request.headers.set('XSRF-TOKEN', myAwesomeToken);
return request;
}
});
});
}
...
}
По каждому запросу ваш токен будет отправлен. Вам придется обрабатывать проверку на стороне сервера. Вы можете легко настроить свой код, чтобы ваш первоначальный запрос мог захватить токен, или вы могли бы передать токен обратно в качестве части вашей полезной нагрузки для проверки подлинности, или если бы вы хотели, чтобы вы даже могли хранить токен в локальном браузере и использовать его путь.
Вы даже можете сделать еще один шаг и реализовать проверку подлинности JWT. Если вы используете node.js, у меня есть небольшой пост в блоге, в котором описывается, как я реализовал JWT в Express. Там плагин на Github называется aurelia-auth, который обрабатывает JWT, и там в блоге о его внедрении в блоге Aurelia.