【问题标题】:nextauth with custom Okta providernextauth 与自定义 Okta 提供程序
【发布时间】:2020-12-30 11:43:05
【问题描述】:

npm 包默认使用 标准 Okta 域 授权服务器,格式为 https://${yourOktaDomain}/oauth2. 我必须连接到 自定义 Okta 授权 服务器,形式:https://${yourOktaDomain}/oauth2/${authServerId}. 问题是:如何配置 nextauth 以识别我需要的 Okta 授权服务器是 Custom 服务器?如果没有此信息,NextAuth 不会形成正确的 URI。我在 NextAuth 网站 1 上找不到配置选项

【问题讨论】:

    标签: next-auth


    【解决方案1】:

    使用 Next-Auth v4 beta 可以解决与此类似的一些问题。 https://github.com/nextauthjs/next-auth/tree/beta

    【讨论】:

      【解决方案2】:

      您可以通过在使用提供程序时指定 NextAuth.js 提供程序来覆盖任何设置,因为“提供程序”实际上只是 JSON 对象。

      例如您可以像这样添加authorizationUrl 属性:

      import Providers from `next-auth/providers`
      /* ... */
      providers: [
        Providers.Okta({
          clientId: process.env.OKTA_CLIENT_ID,
          clientSecret: process.env.OKTA_CLIENT_SECRET,
          domain: process.env.OKTA_DOMAIN,
          authorizationUrl: `https://${yourOktaDomain}/oauth2/${authServerId}?response_type=code`
        })
      }
      /* ... */
      

      Okta 的默认提供程序配置选项如下: https://github.com/nextauthjs/next-auth/blob/main/src/providers/okta.js

      实际上有一个Pull Request for this in flight 可以解决这个问题。我认为它具有您需要的更改,因此可能值得检查其中的更改并在您的应用中指定。

      (如果这些选项对您有用,如果您可以对该 PR 留下反馈,那就太好了!)

      【讨论】:

        猜你喜欢
        • 2021-01-22
        • 2022-08-23
        • 1970-01-01
        • 1970-01-01
        • 2018-08-08
        • 2021-03-14
        • 1970-01-01
        • 2010-12-12
        相关资源
        最近更新 更多