Я следил за идеями в сообщении this. Я только что сделал несколько изменений, например, с использованием ядра ASP.net и фронтального угла Angular 2 на одном и том же порту с использованием аутентификации маркера на предъявителя jwt.Получение «invalid_token» при доступе к веб-API с ADAL.js
Я использую ADAL.js для аутентификации Azure AD, и этот процесс работает нормально. Я получаю свой токен от Azure AD и его получение в localstorage.
Когда я использую маркер, который при получении сохранить в локальном хранилище, чтобы позвонить своему API я получаю 401
вызов от углового 2 до WebAPI как находящиеся на одном порту.
var token = localStorage["adal.access.token.keye1b88e53-810a-474d-93af-bb98c956d01e"];
console.log(token);
let headers = new Headers({
'Authorization': 'Bearer ' + token, 'Accept': 'application/json; odata.metadata=minimal'
});
let options = new RequestOptions({ headers: headers });
return this.http.get('https://localhost:44375/api/values', options)
.map((response: Response) => response.json()).subscribe((val) => {
console.log(val);});
Этот вызов возвращается с 401 с этим сообщением
Bearer ошибки = "invalid_token", error_description = "Маркер истёк"
Любые идеи приветствуются. Благодаря!
Я не использую adal-angular, как указано в примере. Поскольку adal-angluar не совместим с Angular-2. Мы используем Adal.js для аутентификации. Именно поэтому я устанавливаю заголовок авторизации с каждым исходящим вызовом. И даже если я буду обновлять токен и отправлять запрос, я все еще вижу ту же ошибку. – Pickle
Теперь, когда я обновляю токен, я вижу 'Bearer error =" invalid_token ", error_description =" Аудитория недействительна "' – Pickle
Это результат требования 'aud', не равного ожидаемому получателю. что вы используете для проверки? –