为什么 google 使用 /oauth2/auth 而 Auth0 规范使用 /oauth2/authorize

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

我正在尝试使用 auth0-react 包,它将用户重定向到提供的域 + /authorize

 <Auth0Provider
    domain="mydomain/oauth2"
    // redirects to mydomain/oauth2/authorize?...
    clientId="myClientId"
    redirectUri={"http://localhost:1557/send-params"}
  />
...

问题是,我尝试请求的域使用路径

/auth
而不是
/authorize
,如 Auth0 OAuth 2.0 规范中所述。我想知道为什么规范和 SDK 直接指向
/authorize
,而一些提供商(例如 Google)使用
/auth

此外,如果有人有使用

auth0-react
包的经验,是否有办法将调用的端点从
/authorize
更改为
/auth

reactjs oauth-2.0 oauth auth0
2个回答
1
投票

正确的库行为应该是使用 OpenID Connect Discovery 查找端点,因为标准中没有说明端点相对 URL 是什么。

希望有一个 Auth0 选项可以做到这一点 - 我稍后会看看 Auth0 存储库。一般来说,由于这种原因,我会避免使用特定于供应商的库。

OIDC Client 是一个示例库,可与任何基于标准的提供商配合使用。但无论如何,SPA 正在更多地转向后端模式 - 因此这个库被存档。

后记

我看了一下,上面的库似乎依赖于 auth0-spa-js 库及其 Auth0Client 类,它对路径进行了硬编码。您也许可以对该客户端进行子类化来解决您的问题。


0
投票

我已经为此打开了问题:

https://github.com/auth0/auth0-react/issues/700 https://github.com/auth0/auth0-spa-js/issues/1219

如果您支持该增强功能,请点赞。

© www.soinside.com 2019 - 2024. All rights reserved.