跳至內容
正在從 NextAuth.js v4 遷移?請閱讀 我們的遷移指南.

BoxyHQ SAML 供應商

資源

設定

將 BoxyHQ SAML 登入新增至您的頁面。

BoxyHQ SAML 是一項開放原始碼服務,可將 SAML SSO 登入流程當作 OAuth 2.0 流程處理,並抽象化 SAML 通訊協定的所有複雜性。輕鬆在您的應用程式中啟用企業單一登入。

您可以將 BoxyHQ SAML 部署為獨立的服務,或是使用我們的 NPM 程式庫將其嵌入您的應用程式中。請查看文件以取得更多詳細資訊

回調網址

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。

請查看文件以取得更多詳細資訊。

在客戶端,您需要將額外的參數 tenantproduct 傳遞至 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 });
  }}
>
Auth.js © Balázs Orbán 和團隊 -2024