BoxyHQ SAML 提供商
资源
设置
将 BoxyHQ SAML 登录添加到您的页面。
BoxyHQ SAML 是一种开源服务,它将 SAML SSO 登录流程处理为 OAuth 2.0 流程,消除了 SAML 协议的所有复杂性。轻松地在您的应用程序中启用企业单点登录。
您可以将 BoxyHQ SAML 部署为单独的服务,也可以使用我们的 NPM 库将其嵌入您的应用程序中。 查看文档以获取更多详细信息
回调 URL
https://example.com/api/auth/callback/boxyhq-saml
环境变量
AUTH_BOXYHQ_SAML_ID
AUTH_BOXYHQ_SAML_SECRET
AUTH_BOXYHQ_SAML_ISSUER
配置
/auth.ts
import NextAuth from "next-auth"
import BoxyHQ from "next-auth/providers/boxyhq-saml"
export const { handlers, auth, signIn, signOut } = NextAuth({
providers: [
BoxyHQ({
authorization: { params: { scope: "" } }, // This is needed for OAuth 2.0 flow, otherwise default to openid
clientId: AUTH_BOXYHQ_SAML_ID,
clientSecret: AUTH_BOXYHQ_SAML_SECRET,
issuer: AUTH_BOXYHQ_SAML_ISSUER,
}),
],
})
SAML
SAML 登录需要为您的每个租户配置。一种常见的方法是使用电子邮件地址的域来确定他们属于哪个租户。您还可以使用来自后端的唯一租户 ID(字符串)来完成此操作,通常是某种帐户或组织 ID。
查看 文档 以获取更多详细信息。
在客户端,您需要将额外的参数 tenant
和 product
传递给 signIn
函数。这将允许 BoxyHQL SAML 找出正确的 SAML 配置,并将您的用户带到正确的 SAML 身份提供者以登录。
import { signIn } from "next-auth/react";
// 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 });
}}
>