我正在尝试使用 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
?
正确的库行为应该是使用 OpenID Connect Discovery 查找端点,因为标准中没有说明端点相对 URL 是什么。
希望有一个 Auth0 选项可以做到这一点 - 我稍后会看看 Auth0 存储库。一般来说,由于这种原因,我会避免使用特定于供应商的库。
OIDC Client 是一个示例库,可与任何基于标准的提供商配合使用。但无论如何,SPA 正在更多地转向后端模式 - 因此这个库被存档。
后记
我看了一下,上面的库似乎依赖于 auth0-spa-js 库及其 Auth0Client 类,它对路径进行了硬编码。您也许可以对该客户端进行子类化来解决您的问题。
我已经为此打开了问题:
https://github.com/auth0/auth0-react/issues/700 https://github.com/auth0/auth0-spa-js/issues/1219
如果您支持该增强功能,请点赞。