티스토리 뷰

반응형

 

✅ Duende IdentityServer6 Provider 설정 예제

import NextAuth from "next-auth"
import IdentityServer6Provider from "next-auth/providers/duende-identityserver6"

export default NextAuth({
  providers: [
    IdentityServer6Provider({
      clientId: process.env.IDENTITYSERVER_CLIENT_ID,
      clientSecret: process.env.IDENTITYSERVER_CLIENT_SECRET,
      issuer: process.env.IDENTITYSERVER_ISSUER, // 예: https://your-identityserver.com
    }),
  ],
})

📂 환경변수 (.env.local)

IDENTITYSERVER_CLIENT_ID=your-client-id
IDENTITYSERVER_CLIENT_SECRET=your-client-secret
IDENTITYSERVER_ISSUER=https://your-identityserver-domain.com
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-nextauth-secret

🔐 리디렉션 URI 등록

반응형

Duende IdentityServer6 관리자 설정에서 반드시 다음 URL을 등록하세요:

http://localhost:3000/api/auth/callback/duende-identityserver6

📑 기본 동작

Duende IdentityServer6는 OpenID Connect를 준수하며, 다음 정보들을 제공합니다:

  • 사용자 sub (고유 ID)
  • email, name, preferred_username 등
  • 사용자 역할 (role 클레임 포함 가능)

이러한 클레임은 NextAuth의 jwt 또는 session 콜백에서 자유롭게 사용할 수 있습니다.


🧠 콜백 확장 예시

callbacks: {
  async jwt({ token, account, user }) {
    if (account) {
      token.accessToken = account.access_token
      token.idToken = account.id_token
    }
    return token
  },
  async session({ session, token }) {
    session.accessToken = token.accessToken
    session.idToken = token.idToken
    return session
  },
}

 

NextAuth Duende IdentityServer6, OIDC 인증 연동, IdentityServer 로그인, next-auth oidc provider, duende openid connect, Next.js 사용자 인증, IdentityServer OAuth 설정, OIDC 클레임 처리, Enterprise 인증 연동, SEO 최적화 10개


 

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함
반응형