Salesforce/개발_한국어

세일즈포스 Single Sign-on (SSO) 연동하기 (Advanced)

세일즈포스 개발 및 어드민 블로그 2025. 1. 26. 22:34

도입

개발 오그에서는 무난하게 이전 포스트의 내용만으로 손쉽게 SSO 설정이 되지만 운영 오그나 다른 환경에서는 알 수 없는 이유로 SSO 설정이 제대로 작동되지 않아 에러 페이지로 이동하는 경우가 있습니다. 오류들은 일반적으로 Expired authorization code, Remote Access Error, Invalid Grant 이런 경우가 많습니다. 이러한 오류가 발생하는 경우 해결하기 위해 좀 더 복잡한 설정을 요구하고 있습니다.

 

개인적인 경험을 바탕으로 보았을 때 위의 에러들은 아래의 작업들을 통해 해결되었습니다. 아래 작업은 다소 헷갈릴 수 있는 작업이니 천천히 따라해보시고 계속해서 에러가 발생한다면 댓글로 같이 고민하는 시간을 가지고자 합니다.

 
 

Single Sign-on (SSO) 설정하기

Org B

Org B로 이동 -> Setup -> App Manager -> New Connected App -> Create a Connected App

 

Org B Connected App

 

이름과 이메일을 입력하신 후 API (Enable OAuth Settings)섹션에서 Enable OAuth Settings 활성화를 시켜줍니다.

그리고 Callback URL에 다음의 주소를 입력합니다.

 

예시

<<포탈주소>>vforcesite/services/authcallback/loginwithsalesforce
<<포탈주소>>/services/authcallback/loginwithsalesforce
 
 

여러분의 Experience Cloud의 사이트 주소가 naver.my.site.com 이라면 아래처럼 구성될겁니다.

https://naver.my.site.com/customersvforcesite/services/authcallback/loginwithsalesforce
https://naver.my.site.com/services/authcallback/loginwithsalesforce
 
 

입력후 Selected OAuth Scopes의 다음의 항목들을 선택하여 Selected OAuth Scopes로 추가합니다.

아래 추가작업을 통해 Expired authorization code, Remote Access Error, Invalid Grant의 이슈들이 해결되었습니다.
  • Access the identity URL service (id, profile, email, address, phone).
  • Manage user data via APIs (api).
  • Perform requests at any time (refresh_token, offline_access).
  • Access unique user identifiers (openid)

그 다음 Save.

 
 

Consumer Key & Secret

방금전에 생성한 App을 View를 통해 들어가서 API (Enable OAuth Settings)를 찾습니다.

Org B Consumer Key &amp; Secret

 

Manage Consumer Details를 누르면 새로운 탭이 뜨는데 진행하기 위해서 인증 작업을 거쳐야 합니다.

이메일을 통해 인증 후 Consumer Key와 Secret를 볼 수 있는 페이지로 이동되는데 이 값이 Org A 작업에서 필요하니 탭을 끄지 말거나 메모장에 잠시 메모해둡시다.

  • Consumer Key: Connected app 생성 시 세일즈포스가 만들어주는 identification이자 public 키 입니다 (client_id 라고도 불림). 외부 웹사이트나 앱이 세일즈포스 API를 이용하여 접근 시 자신을 인증하는데 사용됩니다.
  • Consumer Secret: Consumer Key 생성 시 같이 생성되는 시크릿 값이며 인증에 사용된 Consumer Key의 오너라고 증명하는데 사용됩니다 (client_secret라고도 불림).
  • 참고: Opkey, Salesforce.

만약에 Consumer Details에 영향을 주는 설정 작업을 하셨다면 Consumer Key와 Secret가 다시 갱신됩니다.

갱신이 되는데 최대 10분 정도 소요가 되고 갱신 이후에는 이전에 사용하던 Consumer Key와 Secret를 사용할 수 없으니 참고부탁드립니다.

 

Org A

Setup -> Auth. Providers -> New -> Provider Type -> Salesforce

Org A Auth. Providers
Org A Auth. Providers Edit

 

위 Org B에서 얻은 Consumer Key와 Secret를 Consumer Key와 Secret 항목에 넣어줍시다.

Authorize Endpoint URL와 Token Endpoint URL에는 Org B의 주소가 필요합니다.
 
 
Authorize Endpoint URL
https://<<Org B Domain>>.my.salesforce.com/services/oauth2/authorize
 
Token Endpoint URL
https://<<Org B Domain>>.my.salesforce.com/services/oauth2/token

 

설정 작업은 여기까지 입니다. 저장하신 후 SSO를 적용시킨 Org A의 Experience Cloud 사이트로 이동하여 한번 테스트 해보도록 하겠습니다.

 

결과 확인

Test

 

Result

 

정상적으로 회원가입 및 로그인 되는것을 확인할 수 있습니다.