跳至内容
从 NextAuth.js v4 迁移?阅读 我们的迁移指南.

providers/boxyhq-saml

内置的 BoxyHQ SAML 集成。

BoxyHQSAMLProfile

扩展

属性

email

email: string;

firstName?

optional firstName: string;

id

id: string;

lastName?

optional lastName: string;

default()

default<P>(options): OAuthConfig<P>

在您的页面中添加 BoxyHQ SAML 登录。

BoxyHQ SAML 是一款开源服务,它将 SAML SSO 登录流程作为 OAuth 2.0 流程处理,从而消除了 SAML 协议的所有复杂性。轻松实现应用程序中的企业单点登录。

您可以将 BoxyHQ SAML 部署为单独的服务,也可以使用我们的 NPM 库将其嵌入到您的应用程序中。 查看文档了解更多详细信息

设置

回调 URL

https://example.com/api/auth/callback/boxyhq-saml

配置

对于 OAuth 2.0 流

import { Auth } from "@auth/core"
import BoxyHQ from "@auth/core/providers/boxyhq-saml"
 
const request = new Request(origin)
const response = await Auth(request, {
  providers: [
    BoxyHQ({
      authorization: { params: { scope: "" } }, // This is needed for OAuth 2.0 flow, otherwise default to openid
      clientId: BOXYHQ_SAML_CLIENT_ID,
      clientSecret: BOXYHQ_SAML_CLIENT_SECRET,
      issuer: BOXYHQ_SAML_ISSUER,
    }),
  ],
})

对于 OIDC 流

import { Auth } from "@auth/core"
import BoxyHQ from "@auth/core/providers/boxyhq-saml"
 
const request = new Request(origin)
const response = await Auth(request, {
  providers: [
    BoxyHQ({
      clientId: BOXYHQ_SAML_CLIENT_ID,
      clientSecret: BOXYHQ_SAML_CLIENT_SECRET,
      issuer: BOXYHQ_SAML_ISSUER,
    }),
  ],
})

资源

配置

SAML 登录需要为您的每个租户配置。一种常见方法是使用电子邮件地址的域来确定他们属于哪个租户。您也可以使用来自后端的唯一租户 ID(字符串)来实现此目的,通常是某种帐户或组织 ID。

查看 文档 了解更多详细信息。

在客户端,您需要将额外的参数 tenantproduct 传递给 signIn 函数。这将允许 BoxyHQL SAML 找出正确的 SAML 配置,并将您的用户带到正确的 SAML 身份提供者以进行登录。

import { signIn } from "auth";
...
 
  // Map your users's email to a tenant and product
  const tenant = email.split("@")[1];
  const product = 'my_awesome_product';
...
  <Button
    onClick={async (event) => {
      event.preventDefault();
 
      signIn("boxyhq-saml", {}, { tenant, product });
    }}>
...

注意

默认情况下,Auth.js 假设 BoxyHQ 提供者基于 OAuth 2 规范。

💡

BoxyHQ 提供商附带 默认配置。要覆盖您的用例的默认值,请查看 自定义内置 OAuth 提供者

免责声明 如果您认为在默认配置中发现错误,您可以 打开一个问题

Auth.js 严格遵守规范,对于提供者对规范的任何偏差,我们概不负责。您可以打开一个问题,但如果问题是非规范合规性问题,我们可能不会追求解决方案。您可以在 讨论 中寻求更多帮助。

类型参数

类型参数
P extends BoxyHQSAMLProfile

参数

参数类型
optionsOAuthUserConfig<P>

返回值

OAuthConfig<P>

Auth.js © 巴拉兹·奥尔班 和团队 -2024