从本地主机连接到 Xero OAuth2 给 CORS Erros

Nic*_*nge 2 oauth-2.0 xero-api angular-oauth2-oidc angular7

我使用软件包通过 Angular 7 应用程序连接到 Xero oauth 服务器“ https://login.xero.com/identity/connect/authorizeangular-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',
};
Run Code Online (Sandbox Code Playgroud)

但是,一旦我初始化 oauth 服务

import { OAuthService } from 'angular-oauth2-oidc';
this.oauthService.configure(authConfig);
Run Code Online (Sandbox Code Playgroud)

我收到以下 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.
Run Code Online (Sandbox Code Playgroud)

任何我做错了什么的想法,任何建议都会受到欢迎

小智 6

Xero 身份提供程序当前不支持来自 SPA 和移动设备的PKCE流——它仅支持code来自服务器端 Web 应用程序(您提供client_secret)的流。这意味着您目前无法直接从基于浏览器的应用程序访问我们的 API。

如果这对您有用,请在我们的 UserVoice 页面上提出功能请求,我们可以查看它:https : //xero.uservoice.com/

– 乔希(Xero)