Angular 9 выдает ошибку CORS при загрузке страницы - PullRequest
0 голосов
/ 08 мая 2020

Я работаю над приложением Angular 9 с приложением. NET CORE Web API 3.1. Я настраиваю клиентское приложение Angular для аутентификации с использованием Auth 2.0 Azure B2 C и библиотеки angular -oauth2-oid c в Angular. Я получаю сообщение об ошибке политики CORS. Я звоню http://localhost: 4200

enter image description here

Я могу успешно позвонить в AD B2 C через почтальона и получить токен

При нажатии на кнопку «Войти» появляется следующая ошибка:

{"error":"invalid_request","error_description":"AADB2C90083: The request is missing required parameter: grant_type.\r\nCorrelation ID: xxxxxf7b-f507-48bc-884f-41xxxxxxxxxx\r\nTimestamp: 2020-05-08 09:21:41Z\r\n"}

enter image description here

компонент

import { Component } from '@angular/core';
import { OAuthService } from 'angular-oauth2-oidc';
import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
import { authConfig } from './auth.config';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Angular9B2CAuthApp';

constructor(private oauthService:OAuthService){
  this.configureSingleSignOn();
}

configureSingleSignOn(){
  this.oauthService.configure(authConfig);
  this.oauthService.tokenValidationHandler = new JwksValidationHandler();
  this.oauthService.loadDiscoveryDocumentAndTryLogin();
}

login(){
  this.oauthService.initImplicitFlow();
}

logout(){
  this.oauthService.logOut();
}
}

Auth.config

enter image description here

ошибка после обновления URL-адреса входа

enter image description here

1 Ответ

1 голос
/ 09 мая 2020

Вы устанавливаете конечную точку токена (которая не поддерживает CORS и не предназначена для вызовов SPA / Implicit Flow / GET, поэтому код состояния 400) в свойстве config loginUrl. Вы должны установить его для своего пользовательского потока или политики авторизовать конечную точку следующим образом:

{
  "loginUrl":"https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/oauth2/v2.0/authorize"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...