0

我在用着:

  • "@azure/msal-browser": "^2.11.2",
  • “@azure/msal-react”:“^1.0.0-alpha.6”

我的配置:

const configuration: Configuration = {
  auth: {
    clientId: CLIENT_ID,
    authority: `${AUTHORITY}${TENANT}`,
    redirectUri: window.location.origin,
  },
  cache: {
    cacheLocation: BrowserCacheLocation.LocalStorage,
  },
}

export const pca = new PublicClientApplication(configuration)

应用程序:

const authRequest = {
  scopes: [
    'openid',
    'profile',
    'User.Read'
  ],
}


const App = () => {
  return (
    <div>Nice</div>
  )
}

const app = (
  <MsalProvider instance={pca}>
    <MsalAuthenticationTemplate
      interactionType={InteractionType.Redirect}
      authenticationRequest={authRequest}
      errorComponent={ErrorComponent}
      loadingComponent={LoadingComponent}>
      <Router>
        <StrictMode>
          <App/>
        </StrictMode>
      </Router>
    </MsalAuthenticationTemplate>
  </MsalProvider>
)

重定向有效,我使用公司帐户登录,然后我将被重定向回本地主机。但是:在控制台中出现以下错误:

类型错误:获取失败

本地存储:

{"failedRequests":[865,"ac1b77cf-4d4f-4917-a0cf-6e9fdda4a8f3"],"errors":["TypeError: 无法获取"],"cacheHits":0}

并且 App 组件也不会呈现。ErrorComponent 被渲染。

与示例有同样的问题: https ://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-react-samples/typescript-sample

我在网络中发现了 CORS 错误:请求 URL:https ://login.microsoftonline.com/******-aa2f-23**-****-******** ****/oauth2/v2.0/token 这很奇怪,因为相同的重定向 url 适用于 react-adal。

我想这个问题是由于错误的 Azure 应用程序配置而发生的:

显现:

{
"allowPublicClient": null,
"oauth2AllowIdTokenImplicitFlow": true,
"oauth2AllowImplicitFlow": true,
"oauth2Permissions": [],
"oauth2RequirePostResponse": false
}

oauth2AllowImplicitFlow 应该绝对是错误的。

请问有人有清单的工作示例吗?

4

1 回答 1

0

几天前我遇到了这个问题。

对我来说,问题在于注册申请的类型不正确。请尝试将应用程序注册为“单页”应用程序而不是“Web”应用程序,那么您应该不会看到此问题。

于 2021-02-26T16:20:19.153 回答