Я пытаюсь создать приложение Angular 6, которое будет взаимодействовать с Jira REST API.
Мой запрос POST для проверки подлинности завершается неудачно по предварительному запросу (OPTIONS), в соответствии с консолью из-за отсутствияheader (Access-Control-Allow-Origin).
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:5555' is therefore not allowed access.
Я думаю, что я не добавляю заголовки правильно.
Вот мой код:
export class AuthenticationService {
readonly headerDict = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Access-Control-Allow-Headers': 'Content-Type',
'Access-Control-Allow-Origin': '*'
};
readonly baseUrl: string = 'https://jira.domain.com'; //not the actual domain, duh
constructor( private http: HttpClient ) {
}
login( username: string, password: string ): Observable<any> {
const token: string = window.btoa( `${username}:${password}` );
window.localStorage.setItem( 'currentUser', JSON.stringify( { authtoken: token } ) );
const _headers: HttpHeaders = new HttpHeaders( this.headerDict );
_headers.append( 'Authorization', JSON.stringify(token) );
const requestOptions = {
headers: _headers
};
return this.http.post<any>( `${this.baseUrl}/rest/auth/1/session`, {}, requestOptions );
}
logout() {
localStorage.removeItem( 'currentUser' );
}
}
Я думаю, что неправильно добавляю заголовки, потому что, когда я ставлю точку останова на requestOptions
в фактическом POST, я вижу следующее:
Для меня это не похоже на правильные заголовки.