Skip to content
Migrating from NextAuth.js v4? Read our migration guide.

BoxyHQ SAML Provider

리소스

설정

페이지에 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: "" } }, // OAuth 2.0 플로우를 위해 필요하며, 기본값은 openid입니다
      clientId: AUTH_BOXYHQ_SAML_ID,
      clientSecret: AUTH_BOXYHQ_SAML_SECRET,
      issuer: AUTH_BOXYHQ_SAML_ISSUER,
    }),
  ],
})

SAML

SAML 로그인은 각 테넌트마다 설정이 필요합니다. 일반적으로 이메일 주소의 도메인을 사용해 사용자가 속한 테넌트를 파악합니다. 또는 백엔드에서 고유한 테넌트 ID(문자열)를 사용할 수도 있습니다. 이 ID는 보통 계정 ID나 조직 ID 같은 형태입니다.

자세한 내용은 문서를 참고하세요.

클라이언트 측에서는 signIn 함수에 tenantproduct라는 추가 파라미터를 전달해야 합니다. 이렇게 하면 BoxyHQL SAML이 올바른 SAML 설정을 찾아 사용자를 적절한 SAML Identity Provider로 안내하여 로그인을 진행할 수 있습니다.

import { signIn } from "next-auth/react";
 
// 사용자의 이메일을 테넌트와 제품에 매핑
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 and Team - 2025