피드로 돌아가기
Sign In With LinkedIn Using OpenID Connect in Next.js 16
Dev.toDev.to
Security

Next.js 16 기반 LinkedIn OIDC 전환을 통한 인증 단순화 및 데이터 무결성 확보

Sign In With LinkedIn Using OpenID Connect in Next.js 16

Nicolas Lecocq2026년 5월 6일4intermediate

Context

기존 LinkedIn OAuth v1의 r_liteprofile 및 r_emailaddress Scope 기반 인증 방식이 Deprecated 됨에 따른 시스템 불안정성 증가. Legacy Endpoint 사용 시 콜백 실패 및 디버깅 불가한 런타임 에러가 발생하는 구조적 한계 존재.

Technical Solution

  • openid, profile, email Scope 기반의 표준 OIDC 도입을 통한 인증 프로세스 단순화
  • NextAuth v5의 내장 LinkedIn Provider 설정을 Override 하여 /v2/userinfo Endpoint 및 profile.sub 기반의 Stable ID 식별 체계 구축
  • ID Token의 Claims를 통한 사용자 정보 획득으로 기존 Profile/Email 전용 Endpoint 호출 오버헤드 제거
  • jwt callback을 통한 access_token 및 expires_at의 토큰 기반 상태 관리 설계
  • prompt=consent 파라미터를 활용한 LinkedIn Consent Screen 캐싱 문제 해결 및 Scope 변경 사항 즉각 반영 구조 구현
  • w_member_social 등 기능별 권한을 분리한 제품별 Scope 신청 및 승인 프로세스 적용

- LinkedIn Developer Portal 내 Callback URL의 Trailing Path 정확성 검증 - profile.id 대신 OIDC 표준인 profile.sub를 Primary Key로 사용 - 개발 환경에서 Scope 변경 시 prompt=consent 옵션 적용 여부 확인 - API 기능별(Posting, Community 등) 별도 제품 승인 및 Scope 관리 체계 수립

원문 읽기