У меня проблема с политикой CORS при попытке перенаправить в Azure AD для проверки подлинности
Я получаю такую ошибку:
Access to XMLHttpRequest at 'https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/authorize/.well-known/openid-configuration' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
при попытке перенаправить на лазурный для входа в систему.
Вот услуга:
export class AuthService {
private _userManager: UserManager;
constructor(private http: HttpClient) {
const config = {
authority: Constants.stsAuthority,
client_id: Constants.clientId,
redirect_uri: `${Constants.clientRoot}assets/oidc-login-redirect.html`,
scope: 'openid profile',
response_type: 'id_token token',
post_logout_redirect_uri: `${Constants.clientRoot}?postLogout=true`,
userStore: new WebStorageStateStore({ store: window.localStorage })
};
this._userManager = new UserManager(config)
}
login(): Promise<any>{
return this._userManager.signinRedirect();
}
}
Я уверен, что правильно зарегистрировал свой localhost
URL. Тем не менее, я получаю эту ошибку. Пока я не видел документации по этому поводу.
Спасибо за помощь
h ttps:https://stackru.com/images/8959b04ae8a1d435535c8b6458284626178c6c97.png
2 ответа
https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/authorize/.well-known/openid-configuration не является допустимым URL-адресом.
Вероятно, ваши полномочия настроены неправильно. Это должно быть простоhttps://login.microsoftonline.com/tenant-id
.
У меня был подобный опыт очень давно. если я правильно помню, вам нужно импортировать HTTP-модуль в свой app.modules.ts. Проверьте эту ссылку https://angular.io/guide/http В противном случае запрашиваемый сервер нуждается в этом теге настраиваемых заголовков в файле web.config, чтобы разрешить CORS (совместное использование ресурсов с перекрестным источником)
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE,
OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>
Надеюсь это поможет.