【问题标题】:How to add multi-tenancy using Next Auth and Keycloak provider如何使用 Next Auth 和 Keycloak 提供程序添加多租户
【发布时间】:2022-07-01 22:28:15
【问题描述】:

我一直在尝试同时使用 next-authkeycloak,但是在使用多领域登录时我失败了,使用单个 keycloak 提供程序我无法更改 clientSecretissuer 选项运行时,所以我尝试为每个领域添加具有不同 id 的多个 keycloak 提供程序,它可以工作,我可以使用 react 挂钩来选择正确的领域:

[...nextauth].ts

const realms = [
    {
        id: 'abc',
        clientId: 'nextjs',
        clientSecret: 'asfasdfdfasdfdasfasfddsf',
        issuer: 'http://localhost:8080/realms/abc',
    },
    {
        id: 'xyz',
        clientId: 'nextjs',
        clientSecret: 'ssdfsdfsdfasdfasdfasdfasfdsdf',
        issuer: 'http://localhost:8080/realms/xyz',
    }
];

供应商:

    export default NextAuth({
    providers: realms.map((realm) => KeycloakProvider({
        id: realm.id,
        clientId: realm.clientId,
        clientSecret: realm.clientSecret,
        issuer: realm.issuer
    })),
});

我最大的问题是我不能在运行时包含更多的提供者/领域配置,如果我可以使用安全的端点来获取那些 keycloak 配置会很好......所以如果有人可以帮助我,向我展示一些如何实现它的指南,欢迎任何帮助!

我是 NextJS 的新手,你可以查看我的 full-project-code

【问题讨论】:

    标签: reactjs next.js keycloak multi-tenant next-auth


    【解决方案1】:

    遇到同样的问题,你找到解决办法了吗?

    【讨论】:

      猜你喜欢
      • 2022-11-05
      • 2023-01-20
      • 2018-04-07
      • 2022-09-24
      • 2022-08-02
      • 2022-01-14
      • 2021-10-23
      • 2015-01-09
      • 2022-12-29
      相关资源
      最近更新 更多