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

SailPoint ISC Provider

SailPoint Identity Secure Cloud(ISC)는 기업용 SaaS 플랫폼으로, 아이덴티티와 보안을 담당합니다. 이 OAuth 통합을 사용하려면 ISC 테넌트가 필요합니다. SailPoint 고객이나 파트너라면 SailPoint 계정 관리자에게 문의해 자세한 내용을 확인하세요. 개발자라면 SailPoint 개발자 커뮤니티를 방문해 보세요.

💡

이 프로바이더는 Auth.js 패키지에 포함되어 있지 않습니다. 이는 기업용 프로바이더로, 테스트와 호환성 확인을 위한 테넌트를 확보할 수 없기 때문입니다. 그렇지만, 이러한 프로바이더를 사용자들에게 제공하고자 하므로, 이와 같은 문서 페이지에 복사하여 붙여넣을 수 있는 버전을 공유합니다. 아래의 프로바이더 설정은 그대로 제공되며, SailPoint 테넌트에 접근할 수 있는 커뮤니티 멤버가 제출한 것입니다.

리소스

설정

콜백 URL

https://example.com/api/auth/callback/sailpoint

OAuth 클라이언트 생성

먼저, clientIdclientSecret을 얻기 위해 SailPoint 관리 콘솔에서 클라이언트를 생성해야 합니다. 이 가이드를 따라하거나, 아래 주요 단계를 참고할 수 있습니다.

  1. OAuth 클라이언트를 생성하고, grant 타입으로 AUTHORIZATION_TOKENREFRESH_TOKEN을 선택합니다.
  2. 위 예제에 기반한 콜백 URL과 일치하도록 리디렉션 URL을 설정합니다.
  3. 마지막으로, sp:scope:all 스코프를 선택합니다.
  4. 생성”을 클릭하고 생성된 clientIdclientSecret을 기록해 둡니다.

환경 변수

AUTH_SAILPOINT_ID=
AUTH_SAILPOINT_SECRET=
AUTH_SAILPOINT_BASE_URL=https://{tenant}.identitynow.com
AUTH_SAILPOINT_BASE_API_URL=https://{tenant}.api.identitynow.com

설정

다른 Auth.js 프로바이더와 달리, 이 프로바이더는 패키지에서 직접 가져올 수 없습니다(자세한 내용은 이 페이지 상단의 참고 사항을 확인하세요). 하지만 아래 객체를 복사하여 providers 배열에 붙여넣으면 이 프로바이더를 활성화할 수 있습니다.

/auth.ts
import NextAuth from "next-auth"
 
export const { handlers, auth, signIn, signOut } = NextAuth({
  providers: [
    {
      id: "sailpoint",
      name: "SailPoint",
      type: "oauth",
      clientId: process.env.AUTH_SAILPOINT_ID!,
      clientSecret: process.env.AUTH_SAILPOINT_SECRET!,
      authorization: {
        url: `${process.env.AUTH_SAILPOINT_BASE_URL!}/oauth/authorize`,
        params: { scope: "sp:scopes:all" },
      },
      token: `${process.env.AUTH_SAILPOINT_BASE_API_URL!}/oauth/token`,
      userinfo: `${process.env.AUTH_SAILPOINT_BASE_API_URL!}/oauth/userinfo`,
      profile(profile) {
        return {
          id: profile.id,
          email: profile.email,
          name: profile.uid,
          image: null,
        }
      },
      style: { brandColor: "#011E69", logo: "sailpoint.svg" },
    },
  ],
})

프로필

SailPoint의 userprofile 엔드포인트는 더 많은 필드를 반환하지만, 기본적으로 User 테이블id, name, email, image만 지원합니다. 따라서 아래 나열된 필드 중 하나를 사용하고 싶고, Auth.js와 함께 데이터베이스 어댑터를 사용 중이라면, 사용 중인 어댑터와 데이터베이스에서 User 테이블 스키마를 수정해야 합니다. 그런 다음 위의 profile 콜백에서 이러한 필드를 추가로 반환할 수 있습니다.

SailPoint userprofile 엔드포인트 응답에서 사용 가능한 필드는 다음과 같습니다.

type SailPointProfile = {
  tenant: string
  id: string
  uid: string
  email: string
  phone: string
  workPhone: string
  firstname: string
  lastname: string
  capabilities: string
  displayName: string
  name: string
}
Auth.js © Balázs Orbán and Team - 2025