У меня проблема с политикой 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();
 }

}

Я уверен, что правильно зарегистрировал свой localhostURL. Тем не менее, я получаю эту ошибку. Пока я не видел документации по этому поводу.

Спасибо за помощь

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>

Надеюсь это поможет.

Другие вопросы по тегам