![[17.0.0.2 and later]](../ng_v17002plus.gif)
Liberty에 소셜 로그인 구성
사용자가 자신의 소셜 미디어 계정으로 로그인하여 Liberty 서버에서 호스팅하는 웹 사이트에 인증할 수 있도록 Liberty 서버를 구성할 수 있습니다. 사전 정의된 소셜 미디어 플랫폼 구성 중에서 선택하거나, OAuth 2.0 또는 OpenID Connect 1.0 표준에 따라 임의의 소셜 미디어 플랫폼에 대한 사용자 고유 구성을 정의할 수 있습니다.
이 태스크 정보
소셜 로그인은 사용자가 해당 웹 사이트에 특정한 계정을 작성하는 대신 기존 소셜 미디어 계정을 사용하여 웹 사이트에 로그인할 수 있도록 해주는 일종의 싱글 사인온(SSO)입니다. 예를 들어 사용자가 자신의 Facebook 또는 Twitter 계정으로 웹 사이트에 로그인할 수 있도록 소셜 로그인을 구성할 수 있습니다. 인증에 OAuth 2.0 또는 OpenID Connect 1.0 표준을 사용하는 모든 소셜 미디어 플랫폼에 대해 소셜 로그인을 사용하도록 설정할 수 있습니다.
프로시저
- Facebook에 대한 소셜 로그인을 구성하십시오.
- Facebook 애플리케이션을 작성하십시오. 자세한 정보는 Facebook 앱 개발을 참조하십시오.애플리케이션을 구성할 때 다음 형식의 경로 재지정 URL을 제공하여 애플리케이션에 Liberty 서버를 등록하십시오.
https://liberty_host:SSL_port/ibm/api/social-login/redirect/facebookLogin
애플리케이션을 작성한 후에는 앱 ID 및 앱 시크릿을 메모해 두십시오. 나중에 이를 Liberty 구성에 추가합니다.
- Liberty 서버에 대한 server.xml 구성 파일을 열고 socialLogin-1.0
및 appSecurity-2.0 기능을 추가하십시오.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- facebookLogin 요소를 추가한 후 앱 ID 및 앱 시크릿을 사용하여 해당 요소를
구성하십시오.
<facebookLogin clientId="facebook_app_id" clientSecret="facebook_app_secret" />
facebookLogin 요소는 Facebook에 연결하기 위한 특정 기본값을 지정합니다. Facebook 로그인에 나열된 추가 속성을 구성하여 기본값을 대체하고 다른 설정을 지정할 수 있습니다.
- keyStore 요소의 신뢰 저장소를 구성하고 Facebook
엔드포인트에서 신뢰 저장소로 인증서를 가져오십시오.
예를 들어, 다음 구성은 기본 Liberty 신뢰 저장소 파일을 가리킵니다.
Liberty 신뢰 저장소에 인증서를 가져오려면 브라우저에서 facebookLogin 요소가 지정한 엔드포인트 중 하나로 이동하여 인증서를 내보내십시오. 키 관리 도구(예: iKeyman) 또는 Java keytool 유틸리티를 사용하여 인증서를 Liberty 신뢰 저장소 파일에 추가하십시오.<keyStore id="defaultKeyStore" password="keyspass" />
팁: 경우에 따라 두 개 이상의 인증서를 가져와야 할 수도 있습니다. 가져와야 할 인증서에 대한 세부사항은 messages.log 파일을 참조하십시오.
- Facebook 애플리케이션을 작성하십시오. 자세한 정보는 Facebook 앱 개발을 참조하십시오.
- GitHub에 대한 소셜 로그인을 구성하십시오.
- GitHub OAuth 애플리케이션을 작성하십시오. 자세한 정보는 GitHub: OAuth
API에 있는 웹 애플리케이션에 대한 정보를 참조하십시오.애플리케이션을 구성할 때 다음 형식의 경로 재지정 URL을 제공하여 애플리케이션에 Liberty 서버를 등록하십시오.
https://liberty_host:SSL_port/ibm/api/social-login/redirect/githubLogin
애플리케이션을 작성한 후에는 클라이언트 ID 및 클라이언트 시크릿을 메모해 두십시오. 나중에 이를 Liberty 구성에 추가합니다.
- Liberty 서버에 대한 server.xml 구성 파일을 열고 socialLogin-1.0
및 appSecurity-2.0 기능을 추가하십시오.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- githubLogin 요소를 추가한 후 클라이언트 ID 및 클라이언트 시크릿을 사용하여 해당 요소를
구성하십시오.
<githubLogin clientId="github_client_id" clientSecret="github_client_secret" />
githubLogin 요소는 GitHub에 연결하기 위한 특정 기본값을 지정합니다. GitHub 로그인에 나열된 추가 속성을 구성하여 기본값을 대체하고 다른 설정을 지정할 수 있습니다.
- keyStore 요소의 신뢰 저장소를 구성하고 GitHub 엔드포인트에서
신뢰 저장소로 인증서를 가져오십시오.
예를 들어, 다음 구성은 기본 Liberty 신뢰 저장소 파일을 가리킵니다.
Liberty 신뢰 저장소에 인증서를 가져오려면 브라우저에서 githubLogin 요소가 지정한 엔드포인트 중 하나로 이동하여 인증서를 내보내십시오. 키 관리 도구(예: iKeyman) 또는 Java keytool 유틸리티를 사용하여 인증서를 Liberty 신뢰 저장소 파일에 추가하십시오.<keyStore id="defaultKeyStore" password="keyspass" />
팁: 경우에 따라 두 개 이상의 인증서를 가져와야 할 수도 있습니다. 가져와야 할 인증서에 대한 세부사항은 messages.log 파일을 참조하십시오.
- GitHub OAuth 애플리케이션을 작성하십시오. 자세한 정보는 GitHub: OAuth
API에 있는 웹 애플리케이션에 대한 정보를 참조하십시오.
- Google에 대한 소셜 로그인을 구성하십시오.
- Google API Console 프로젝트에 OAuth 클라이언트 ID를 작성하십시오. 자세한 정보는 Google API Console 프로젝트 및 클라이언트 ID 작성을 참조하십시오.애플리케이션을 구성할 때 다음 형식의 경로 재지정 URL을 제공하여 애플리케이션에 Liberty 서버를 등록하십시오.
https://liberty_host:SSL_port/ibm/api/social-login/redirect/googleLogin
클라이언트 ID를 작성한 후에는 클라이언트 ID 및 클라이언트 시크릿을 메모해 두십시오. 나중에 이를 Liberty 구성에 추가합니다.
- Liberty 서버에 대한
server.xml 구성 파일을 열고 socialLogin-1.0
및 appSecurity-2.0 기능을 추가하십시오.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- googleLogin 요소를 추가한 후 클라이언트 ID 및 클라이언트 시크릿을 사용하여 해당 요소를
구성하십시오.
<googleLogin clientId="google_client_id" clientSecret="google_client_secret" />
googleLogin 요소는 Google에 연결하기 위한 특정 기본값을 지정합니다. Google 로그인에 나열된 추가 속성을 구성하여 기본값을 대체하고 다른 설정을 지정할 수 있습니다.
- keyStore 요소의 신뢰 저장소를 구성하고 Google 엔드포인트에서
신뢰 저장소로 인증서를 가져오십시오.
예를 들어, 다음 구성은 기본 Liberty 신뢰 저장소 파일을 가리킵니다.
Liberty 신뢰 저장소에 인증서를 가져오려면 브라우저에서 googleLogin 요소가 지정한 엔드포인트 중 하나로 이동하여 인증서를 내보내십시오. 키 관리 도구(예: iKeyman) 또는 Java keytool 유틸리티를 사용하여 인증서를 Liberty 신뢰 저장소 파일에 추가하십시오.<keyStore id="defaultKeyStore" password="keyspass" />
팁: 경우에 따라 두 개 이상의 인증서를 가져와야 할 수도 있습니다. 가져와야 할 인증서에 대한 세부사항은 messages.log 파일을 참조하십시오.
- Google API Console 프로젝트에 OAuth 클라이언트 ID를 작성하십시오. 자세한 정보는 Google API Console 프로젝트 및 클라이언트 ID 작성을 참조하십시오.
- LinkedIn에 대한 소셜 로그인을 구성하십시오.
- LinkedIn 애플리케이션을 작성하십시오. 자세한 정보는 LinkedIn: OAuth 2.0으로 인증을 참조하십시오.애플리케이션을 구성할 때 다음 형식의 경로 재지정 URL을 제공하여 애플리케이션에 Liberty 서버를 등록하십시오.
https://liberty_host:SSL_port/ibm/api/social-login/redirect/linkedinLogin
애플리케이션을 작성한 후에는 클라이언트 ID 및 클라이언트 시크릿을 메모해 두십시오. 나중에 이를 Liberty 구성에 추가합니다.
- Liberty 서버에 대한
server.xml 구성 파일을 열고 socialLogin-1.0
및 appSecurity-2.0 기능을 추가하십시오.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- linkedinLogin 요소를 추가한 후 클라이언트 ID 및 클라이언트 시크릿을 사용하여 해당 요소를
구성하십시오.
<linkedinLogin clientId="linkedin_client_id" clientSecret="linkedin_client_secret" />
linkedinLogin 요소는 LinkedIn에 연결하기 위한 특정 기본값을 지정합니다. LinkedIn 로그인에 나열된 추가 속성을 구성하여 기본값을 대체하고 다른 설정을 지정할 수 있습니다.
- keyStore 요소의 신뢰 저장소를 구성하고 LinkedIn 엔드포인트에서
신뢰 저장소로 인증서를 가져오십시오.
예를 들어, 다음 구성은 기본 Liberty 신뢰 저장소 파일을 가리킵니다.
Liberty 신뢰 저장소에 인증서를 가져오려면 브라우저에서 linkedinLogin 요소가 지정한 엔드포인트 중 하나로 이동하여 인증서를 내보내십시오. 키 관리 도구(예: iKeyman) 또는 Java keytool 유틸리티를 사용하여 인증서를 Liberty 신뢰 저장소 파일에 추가하십시오.<keyStore id="defaultKeyStore" password="keyspass" />
팁: 경우에 따라 두 개 이상의 인증서를 가져와야 할 수도 있습니다. 가져와야 할 인증서에 대한 세부사항은 messages.log 파일을 참조하십시오.
- LinkedIn 애플리케이션을 작성하십시오. 자세한 정보는 LinkedIn: OAuth 2.0으로 인증을 참조하십시오.
- Twitter에 대한 소셜 로그인을 구성하십시오.
- Twitter 애플리케이션을 작성하십시오. 자세한 정보는 Twitter 앱을 참조하십시오.
애플리케이션을 작성한 후에는 사용자의 이메일 주소 요청 권한을 사용으로 설정하십시오. 컨슈머 키 및 컨슈머 시크릿을 메모해 두십시오. 나중에 이를 Liberty 구성에 추가합니다.
앱에서 콜백 URL을 겹쳐쓰지 못하도록 선택적으로 콜백 잠금을 사용으로 설정할 수 있습니다. 설정에서 다음 형식으로 콜백 URL을 입력한 후 콜백 잠금 사용 설정을 선택하십시오.https://liberty_host:SSL_port/ibm/api/social-login/redirect/twitterLogin
- Liberty 서버에 대한
server.xml 구성 파일을 열고 socialLogin-1.0
및 appSecurity-2.0 기능을 추가하십시오.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- twitterLogin 요소를 추가한 후 클라이언트 ID 및 클라이언트 시크릿을 사용하여 해당 요소를
구성하십시오.
<twitterLogin consumerKey="twitter_consumer_key" consumerSecret="twitter_consumer_secret" />
twitterLogin 요소는 Twitter에 연결하기 위한 특정 기본값을 지정합니다. Twitter 로그인에 나열된 추가 속성을 구성하여 기본값을 대체하고 다른 설정을 지정할 수 있습니다.
- keyStore 요소의 신뢰 저장소를 구성하고 Twitter 엔드포인트에서
신뢰 저장소로 인증서를 가져오십시오.
예를 들어, 다음 구성은 기본 Liberty 신뢰 저장소 파일을 가리킵니다.
Liberty 신뢰 저장소에 인증서를 가져오려면 브라우저에서 twitterLogin 요소가 지정한 엔드포인트 중 하나로 이동하여 인증서를 내보내십시오. 키 관리 도구(예: iKeyman) 또는 Java keytool 유틸리티를 사용하여 인증서를 Liberty 신뢰 저장소 파일에 추가하십시오.<keyStore id="defaultKeyStore" password="keyspass" />
팁: 경우에 따라 두 개 이상의 인증서를 가져와야 할 수도 있습니다. 가져와야 할 인증서에 대한 세부사항은 messages.log 파일을 참조하십시오.
- Twitter 애플리케이션을 작성하십시오. 자세한 정보는 Twitter 앱을 참조하십시오.
- OAuth 2.0을 지원하는 소셜 미디어 플랫폼(예: Instagram 또는 Pinterest)에 대한
소셜 로그인을 구성하십시오.
- 해당 소셜 미디어 플랫폼용 애플리케이션을 작성하십시오. 자세한 정보는 특정 소셜 미디어 플랫폼에 대한 문서를 참조하십시오.
애플리케이션을 작성한 후에는 클라이언트 ID 및 클라이언트 시크릿을 메모해 두십시오. 나중에 이를 Liberty 구성에 추가합니다.
- Liberty 서버에 대한
server.xml 구성 파일을 열고 socialLogin-1.0
및 appSecurity-2.0 기능을 추가하십시오.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- oauth2Login 요소를 추가한 후 해당 소셜 미디어 플랫폼에 대한 연결을
구성하십시오. 구성 가능한 속성에 대한 자세한 정보는 OAuth 2,0 로그인을 참조하십시오.예를 들어 다음 구성은 Instagram 애플리케이션에 대한 소셜 로그인을 정의합니다.
<oauth2Login id="instagramLogin" clientId="client_id" clientSecret="client_secret" scope="basic public_content" responseType="code" tokenEndpointAuthMethod="client_secret_post" authorizationEndpoint="https://api.instagram.com/oauth/authorize" tokenEndpoint="https://api.instagram.com/oauth/access_token" userApi="https://api.instagram.com/v1/users/self" userNameAttribute="username" website="https://www.instagram.com/developer/authentication/"> </oauth2Login>
구성 팁:- Liberty 서버는 scope 속성에 정의된 OAuth 범위 값을 소셜 미디어 플랫폼으로 전달합니다. 정의된 범위가 해당 소셜 미디어 플랫폼에서 지원되어야 하며, 이 범위는 Liberty 서버에서 소셜 미디어 플랫폼의 사용자 데이터를 읽어들이기에 충분한 액세스 권한을 부여해야 합니다. 또한 소셜 미디어 애플리케이션에서 다른 소셜 미디어 API(예: 마케팅 API)를 호출하도록 하려는 경우 정의된 값에 해당 API에 필요한 범위가 포함되어야 합니다.
- authorizationEndpoint 및 tokenEndpoint 속성에 소셜 미디어 플랫폼의 엔드포인트를 정의하십시오. Liberty 서버는 우선 사용자를 인증 엔드포인트로 경로 재지정하여 사용자를 인증하고 OAuth 인증 코드를 획득합니다. 그런 다음 토큰 엔드포인트를 호출하여 OAuth 인증 코드를 OAuth 토큰으로 교환합니다.
- keyStore 요소의 신뢰 저장소를 구성하고 소셜 미디어
엔드포인트에서 신뢰 저장소로 인증서를 가져오십시오.
예를 들어, 다음 구성은 기본 Liberty 신뢰 저장소 파일을 가리킵니다.
Liberty 신뢰 저장소에 인증서를 가져오려면 브라우저에서 oauth2Login 요소가 지정한 엔드포인트 중 하나로 이동하여 인증서를 내보내십시오. 키 관리 도구(예: iKeyman) 또는 Java keytool 유틸리티를 사용하여 인증서를 Liberty 신뢰 저장소 파일에 추가하십시오.<keyStore id="defaultKeyStore" password="keyspass" />
팁: 일부 소셜 미디어 플랫폼의 경우 두 개 이상의 인증서를 가져와야 할 수도 있습니다. 가져와야 할 인증서에 대한 세부사항은 messages.log 파일을 참조하십시오. - 소셜 미디어 애플리케이션으로 되돌아가서 구성된 oauth2Login 요소의
ID를 지시하는 경로 재지정 또는 콜백 URL을 다음 형식으로 구성하십시오.
예를 들어 Instagram에 대한 oauth2Login 구성 예제의 경로 재지정 URL 형식은 다음과 같습니다.https://liberty_host:SSL_port/ibm/api/social-login/redirect/oauth2login_id
https://liberty_host:SSL_port/ibm/api/social-login/redirect/instagramLogin
- 해당 소셜 미디어 플랫폼용 애플리케이션을 작성하십시오. 자세한 정보는 특정 소셜 미디어 플랫폼에 대한 문서를 참조하십시오.
- OpenID Connect 1.0을 지원하는 소셜 미디어 플랫폼에 대한 소셜 로그인을 구성하십시오.
- 해당 소셜 미디어 플랫폼용 애플리케이션을 작성하십시오. 자세한 정보는 특정 소셜 미디어 플랫폼에 대한 문서를 참조하십시오.
애플리케이션을 작성한 후에는 클라이언트 ID 및 클라이언트 시크릿을 메모해 두십시오. 나중에 이를 Liberty 구성에 추가합니다.
- Liberty 서버에 대한
server.xml 구성 파일을 열고 socialLogin-1.0
및 appSecurity-2.0 기능을 추가하십시오.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- oidcLogin 요소를 추가한 후 해당 소셜 미디어 플랫폼에 대한 연결을
구성하십시오. 구성 가능한 속성에 대한 자세한 정보는 OpenID Connect 1,0 로그인을 참조하십시오.예를 들어 다음 구성은 OpenID Connect를 사용하는 Google 애플리케이션에 대한 소셜 로그인을 정의합니다.
<oidcLogin id="googleOIDCLogin" clientId="client_id" clientSecret="client_secret" authorizationEndpoint="https://accounts.google.com/o/oauth2/v2/auth" tokenEndpoint="https://www.googleapis.com/oauth2/v4/token" jwksUri="https://www.googleapis.com/oauth2/v3/certs" scope="openid profile email" userNameAttribute="email" isClientSideRedirectSupported="true" issuer="https://accounts.google.com" realmNameAttribute="iss" > </oidcLogin>
구성 팁:- Liberty 서버는 scope 속성에 정의된 OAuth 범위 값을 소셜 미디어 플랫폼으로 전달합니다. 정의된 범위가 해당 소셜 미디어 플랫폼에서 지원되어야 하며, 이 범위는 Liberty 서버에서 소셜 미디어 플랫폼의 사용자 데이터를 읽어들이기에 충분한 액세스 권한을 부여해야 합니다. 또한 소셜 미디어 애플리케이션에서 다른 소셜 미디어 API(예: 마케팅 API)를 호출하도록 하려는 경우 정의된 값에 해당 API에 필요한 범위가 포함되어야 합니다.
- authorizationEndpoint 및 tokenEndpoint 속성에 소셜 미디어 플랫폼의 엔드포인트를 정의하십시오. Liberty 서버는 우선 사용자를 인증 엔드포인트로 경로 재지정하여 사용자를 인증하고 OAuth 인증 코드를 획득합니다. 그런 다음 토큰 엔드포인트를 호출하여 OAuth 인증 코드를 OAuth 토큰으로 교환합니다.
- keyStore 요소의 신뢰 저장소를 구성하고 소셜 미디어
엔드포인트에서 신뢰 저장소로 인증서를 가져오십시오.
예를 들어, 다음 구성은 기본 Liberty 신뢰 저장소 파일을 가리킵니다.
Liberty 신뢰 저장소에 인증서를 가져오려면 브라우저에서 oidcLogin 요소가 지정한 엔드포인트 중 하나로 이동하여 인증서를 내보내십시오. 키 관리 도구(예: iKeyman) 또는 Java keytool 유틸리티를 사용하여 인증서를 Liberty 신뢰 저장소 파일에 추가하십시오.<keyStore id="defaultKeyStore" password="keyspass" />
팁: 일부 소셜 미디어 플랫폼의 경우 두 개 이상의 인증서를 가져와야 할 수도 있습니다. 가져와야 할 인증서에 대한 세부사항은 messages.log 파일을 참조하십시오. - 소셜 미디어 애플리케이션으로 되돌아가서 구성된 oidcLogin 요소의
ID를 지시하는 경로 재지정 또는 콜백 URL을 다음 형식으로 구성하십시오.
예를 들어 oidcLogin 구성 예제의 경로 재지정 URL 형식은 다음과 같습니다.https://liberty_host:SSL_port/ibm/api/social-login/redirect/oidclogin_id
https://liberty_host:SSL_port/ibm/api/social-login/redirect/googleOIDCLogin
- 해당 소셜 미디어 플랫폼용 애플리케이션을 작성하십시오. 자세한 정보는 특정 소셜 미디어 플랫폼에 대한 문서를 참조하십시오.
하위 주제
Liberty의 소셜 미디어 선택 양식
요청을 보호하기 위해 구성된 소셜 미디어 제공자가 여러 개인 경우 WebSphere® Application Server Liberty는 기본 소셜 미디어 선택 양식을 제공합니다. 이 양식은 보호 자원 요청을 위해 사용자를 인증하기 위해 Liberty 서버에 구성된 사용 가능한 제공자 중에서 선택할 수 있는 옵션을 제공합니다.Liberty를 위한 사용자 정의 소셜 미디어 선택 양식 구성
Liberty에서 제공하는 기본 소셜 미디어 선택 양식을 구성하는 대신 사용자 자신의 소셜 미디어 선택 양식을 구성할 수 있습니다. 다중 소셜 미디어 제공자가 요청을 보호하도록 구성된 경우 이 옵션을 선택할 수 있습니다.

파일 이름: twlp_sec_sociallogin.html