为什么我在使用 auth0-react 包时从 Auth0 获得空负载?

问题描述 投票:0回答:1

我正在努力将我的node/react/apollo 应用程序中的身份验证从passport-jwt 切换到Auth0。

Auth0 在 JWT 访问令牌中返回空负载,因此我没有获得任何用户信息。

Auth0 论坛中的一些帖子表明问题在于

audience
未传递到 Auth0 的身份验证端点。但是,我没有直接调用 Auth0 的身份验证端点 -
@auth0/auth0-react
似乎正在为我做这件事。查看开发人员工具上的网络选项卡,我可以看到受众参数正在 get 请求中传递给 /authorize。

这是删除了值的请求: `https://.us.auth0.com/authorize?client_id=&redirect_uri=http://localhost:3001&audience=&scope=openid 个人资料电子邮件&response_type=code&response_mode=query&state===&nonce===&code_challenge= &code_challenge_method=S256&auth0Client==

我遵循了 Auth0 和 Apollo 开发者倡导者在此视频中描述的设置。

我有一个按钮可以触发 auth0-react 库中的

loginWithRedirect

          <button
            onClick={() =>
              loginWithRedirect()
            }
          >
            login
          </button>

我尝试切换到

loginWithRedirect({audience: <client_id>})
。当我使用它时,我收到错误响应:
Error: “access_denied”, errorDescription: “Service not found: <client_id>

我需要更改什么才能从 Auth0 接收有效负载?

reactjs passport.js apollo auth0
1个回答
0
投票

试试这个:

        auth0.loginWithRedirect({
            authorizationParams: { audience: `https://${env.PUBLIC_AUTH_DOMAIN}/api/v2/` }
        });
© www.soinside.com 2019 - 2024. All rights reserved.