Подключение к Xero OAuth2 с локального хоста дает CORS Erros

Я подключаюсь к серверу Xero oauth " https://login.xero.com/identity/connect/authorize" через приложение Angular 7 с помощью angular-oauth2-oidc пакет.

В моем authConfig у меня есть следующие свойства

export const authConfig: AuthConfig = {
  issuer: 'https://login.xero.com/identity/connect/authorize',
  redirectUri: 'http://127.0.0.1:2114/xerocallback',
  clientId: 'XXXXXXXXXX647C2ABBAXXXXXXXXXX',
  scope: 'openid profile email offline_access',
  responseType: 'code',
};

Однако, как только я инициализирую службу oauth

import { OAuthService } from 'angular-oauth2-oidc';
this.oauthService.configure(authConfig);

я получаю следующую ошибку CORS

Access to XMLHttpRequest at 'https://login.xero.com/identity/connect/authorize/.well-known/openid-configuration' from origin 'http://localhost:2114' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

любая идея о том, что я делаю неправильно, любые предложения будут приветствоваться

1 ответ

Поставщик Xero Identity в настоящее время не поддерживает поток PKCE от SPA и мобильных устройств - он поддерживает только code поток из серверных веб-приложений (где вы предоставляете client_secret). Это означает, что в настоящее время вы не можете получить доступ к нашему API напрямую из браузера.

Если это было бы полезно для вас, подайте запрос на функцию на нашей странице UserVoice, и мы можем рассмотреть его: https://xero.uservoice.com/

- Джош (Ксеро)

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