Невозможно включить / отправить токен jwt с помощью auth0/angular-jwt
Я использую " https://github.com/auth0/angular2-jwt" для отправки токена JWT на мой сервер, я вижу токен при отладке http-запроса (угловой), но на сервере (java) токен не найден
это мой конфиг jwt
JwtModule.forRoot({
config: {
headerName: 'API_TOKEN',
tokenGetter: function tokenGetter() {
return localStorage.getItem('API_TOKEN');
},
whitelistedDomains: ['localhost:8092'],
// blacklistedRoutes: ['https://localhost:8092/login'],
authScheme: ''
}
}),
Я добавил JwtHttpInterceptor для отладки моего запроса:
@Injectable()
export class JwtHttpInterceptor implements HttpInterceptor {
constructor() {}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(req);
}
}
и это скриншот: токен JWT в запросе заголовка
но сервер не смог найти этот токен.
Когда я пытаюсь добавить токен с подключением Chrome, он работает, и сервер может найти мой токен: токен добавлен с подключением Chrome
Не могли бы вы мне помочь?
1 ответ
Я нашел решение, если оно поможет другому человеку, на самом деле оно исходит из бэкэнда, я поменял фильтры безопасности пружины и мой запрос "ОПЦИИ" должен сначала пройти через фильтр CORS
httpSecurity
.addFilter(jwtAuthenticationFilter)
.addFilterBefore(corsInputFilter, UsernamePasswordAuthenticationFilter.class) // OPTIONS REQUEST SHOULD COME HERE IN THE FIRST AND RETURN THE RESPONSE WITHOUT CONTINUE OTHERS FILTERS
.addFilterBefore(tokenAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);