소셜 로그인
애플리케이션에서 소셜 네트워크의 계정을 사용하여 사용자 인증을 구현할 수 있습니다. 사용자가 첫 번째 로그인을 소셜 네트워크를 통해 진행한 경우 새 계정이 자동으로 생성됩니다. 사용자는 사용자 이름, 이메일 주소 또는 기타 데이터를 입력할 필요가 없습니다.
소셜 네트워크를 통해 인증을 구현하는 두 가지 방식:
- 웹 기반 인증. 이 경우, 애플리케이션은 브라우저에서 양식을 열고 선택한 소셜 네트워크를 통해 인증을 완료합니다. 이 옵션은 모바일 및 데스크톱 애플리케이션 모두에 적합합니다.
- 네이티브 인증. 이 경우, 사용자 장치의 소셜 네트워크 애플리케이션을 통해 인증을 수행합니다. 이 옵션은 모바일 애플리케이션에서만 적합합니다.
애플리케이션의 기본 또는 대체 인증 방식으로 소셜 로그인을 사용할 수 있습니다.
소셜 로그인을 대체 인증 방식으로 사용하는 경우, 다음 조건을 만족할 시 해당 소셜 네트워크 계정이 기존 사용자 계정에 자동으로 연결됩니다:
- 사용자 이름/이메일 주소 및 암호로 가입한 사용자가 소셜 네트워크 계정을 통해 애플리케이션에 로그인했습니다.
- 소셜 네트워크는 이메일 주소를 반환합니다.
- 애플리케이션에 가입할 때 사용한 이메일 주소와 소셜 네트워크의 사용자 이메일 주소는 일치합니다.
소셜 네트워크 계정 연결을 수동으로 구현할 수도 있습니다.
방법
SDK는 소셜 로그인에 다음 공급 업체를 지원합니다:
- Amazon
- Apple
- Baidu
- Battle.net
- Discord
- GitHub
- Kakao
- MSN
- Mail.ru
- Microsoft
- Naver
- Odnoklassniki
- PayPal
- Steam
- Twitch.tv
- VK
- Vimeo
- Xbox Live
- Yahoo
- Yandex
- YouTube
웹 서비스를 통한 인증 설정 방법:
- 애플리케이션 인터페이스에서 소셜 네트워크를 통한 인증에 사용할 버튼을 추가합니다.
- 관리자 페이지에서 로그인 프로젝트에서 사용할 소셜 연결을 설정합니다.
- 애플리케이션 측에서 인증 로직을 구현합니다.
엑솔라 관리자 페이지에서 로그인 프로젝트용 SNS 설정
- 관리자 페이지에서 프로젝트를 엽니다.
- 사이드 메뉴에서 로그인을 클릭합니다.
- 로그인 프로젝트의 패널에서 구성을 클릭합니다.
- 인증 블록으로 이동한 후 소셜 로그인 섹션을 선택합니다.
- 사용자가 애플리케이션에 등록하고 로그인할 때 사용할 수 있는 소셜 네트워크를 연결합니다.
- SNS를 연결하려면, 패널에 있는 ⚙을 클릭하고 연결을 선택합니다.
- 여러 개의 소셜 네트워크를 동시에 연결하려면, 필요한 패널을 선택합니다(테두리가 녹색으로 변합니다). 그런 다음, 관리 드롭다운 메뉴에서 연결을 선택합니다.
- 사용 가능한 소셜 네트워크를 모두 연결하려면 모두 선택을 클릭합니다. 그런 다음, 관리 드롭 다운 메뉴에서, 연결을 선택합니다.
애플리케이션 측에서 통합하기
소셜 로그인 버튼을 클릭하면 다음 로직을 구현합니다.
AuthenticateViaSocialNetwork
SDK 메소드를 사용하여 등록/로그인 페이지를 엽니다.SuccessCallback
,ErrorCallback
,CancelCallback
이벤트를 구독합니다.LoginData
매개변수에서 토큰을 가져오거나GetLoginData
메소드를 호출하고 이를 엑솔라 서버에 대한 요청에 사용하여 토큰을 가져옵니다.
SuccessCallback
함수가 LoginData
매개변수에서 인증 토큰을 반환합니다. 이 토큰은 GetLoginData
메소드에 로컬로 캐싱됩니다.이 논리의 구현 예시는 데모 프로젝트의 BP_LoginController
청사진에서 이용할 수 있습니다.
기본 인증은 소셜 네트워크 계정을 사용하는 설치된 애플리케이션을 통해 플레이어가 귀하의 애플리케이션에 로그인할 수 있도록 해 줍니다. 현재 SDK가 고유 인증 구현에 이용하고 있는 소셜 네트워크:
기본 인증 구성 방법:
- 애플리케이션 인터페이스에서 소셜 네트워크를 통한 인증용 버튼을 추가합니다.
- Android용 언리얼 엔진 프로젝트 빌드를 생성합니다.
- 개발자 계정에서 SNS용 애플리케이션을 구성하는 방법:
- Facebook을 통한 인증:
- 등록하고 새 애플리케이션을 만듭니다.
- Facebook 개발자 계정에서 애플리케이션 페이지를 설정합니다.
- Google을 통한 인증은 Google API 콘솔에서 프로젝트를 설정합니다.
- WeChat을 통한 인증:
- 등록하고 새 애플리케이션을 만듭니다.
- 검토용 애플리케이션을 제출합니다.
- QQ를 통한 인증:
- 등록하고 새 애플리케이션을 만듭니다.
- 검토용 애플리케이션을 제출합니다.
- Facebook을 통한 인증:
- 엑솔라 측에서 SNS를 통한 인증 설정 방법:
- Facebook 및 Google은 관리자 페이지에서 SNS 연결을 설정합니다.
- WeChat 및 QQ는 고객 성공 매니저에게 문의하거나 csm@xsolla.com으로 이메일을 보내주세요.
- 언리얼 엔진 프로젝트용 SDK를 설정합니다.
- 애플리케이션 측에서 인증 로직을 구현합니다.
Facebook 개발자 계정의 어플리케이션 페이지 설정
- Facebook 개발자 계정의 프로젝트 설정으로 이동합니다.
- 설정 > 기본으로 이동합니다.
- 플랫폼 추가를 클릭하고 Android를 선택합니다.
- Google Play 패키지 이름 필드에서 Android 애플리케이션 패키지 이름을 지정합니다.
- 활동의 정규화된 클래스 이름을 클래스 이름 필드에서 지정합니다(기본값은
com.epicgames.ue4.GameActivity
입니다). - 해시 키를 생성하고 키 해시 필드에서 이를 지정합니다.
- 변경 내용 저장을 클릭합니다.
추가 기본 인증 구성을 위해서는필요한 항목:
- 설정 > 기본 섹션의 프로젝트 설정에 있는 앱 ID 및 앱 시크릿 코드
- 설정 > 고급 > 보안 섹션의 프로젝트 설정에서 찾을 수 있는 클라이언트 토큰
Google API 콘솔에서 프로젝트 설정
- Google API 콘솔로 이동합니다.
- 새 프로젝트를 클릭합니다.
- 프로젝트 이름과 위치를 지정하고 저장을 클릭합니다.
- 만든 프로젝트로 이동하여 OAuth 동의 화면을 측면 메뉴에서 클릭합니다.
- 외부 옵션을 선택하고 생성을 클릭합니다.
- 필요한 매개 변수를 지정하고 저장을 클릭합니다.
- 측면 메뉴에서 자격 증명을 클릭합니다.
- Android 앱용 OAuth 2.0 클라이언트 생성 방법:
- 자격 증명 생성을 클릭하고 OAuth 클라이언트 ID를 선택합니다.
- Android를 애플리케이션 유형 필드에서 지정합니다.
- 이름을 지정합니다.
- Android 애플리케이션의 패키지 이름을 패키지 이름 필드에서 지정합니다.
- SHA-키를 가져옵니다.
- 전 단계 SHA-키에서 생성된 SHA-키를 SHA-1 인증 지문 필드에서 지정합니다.
- 생성을 클릭합니다.
- 확인을 클릭합니다.
- 웹 애플리케이션용 OAuth 2.0 클라이언트 생성 방법:
- 자격 증명 생성을 클릭하고 OAuth 클라이언트 ID를 선택합니다.
- 웹 애플리케이션을 애플리케이션 유형 필드에서 지정합니다.
- 이름을 지정합니다.
- URI 추가를 권한이 부여된 리디렉션 URI 섹션에서 클릭하고
https://login.xsolla.com/api/social/oauth2/callback
URI을 지정합니다. - 생성을 클릭합니다.
- 확인을 클릭합니다.
추가 고유 인증 구성을 위해서는 웹 어플리케이션의 클라이언트 ID 설정에서 Client ID와 Client Secret가 필요합니다.
엑솔라 관리자 페이지에서 로그인 프로젝트용 SNS 설정
- 관리자 페이지에서 프로젝트를 엽니다.
- 사이드 메뉴에서 로그인을 클릭합니다.
- 로그인 프로젝트의 패널에서 구성을 클릭합니다.
- 인증 블록으로 이동한 후 소셜 로그인 섹션을 선택합니다.
- 소셜 네트워크를 설정하려면 소셜 네트워크 카드로 이동하여 제목 오른쪽에 있는 ⚙ 아이콘을 클릭한 후 연결을 선택합니다.
언리얼 엔진 프로젝트용 SDK 설정
- 언리얼 엔진 프로젝트로 이동합니다.
Settings > Project Settings > Plugins > Xsolla Settings > Android 로 이동합니다.- 애플리케이션 ID 지정:
Facebook App Id 필드에서 Facebook 개발자 계정의 앱 ID를 지정합니다.Facebook Client Token 필드의 Facebook 개발자 계정에서 클라이언트 토큰을 지정합니다.Google App Id 필드의 Google API 콘솔에서 웹 애플리케이션용 클라이언트 ID를 지정합니다.We Chat App Id 필드의 WeChat 애플리케이션 설정에서 AppID를 지정합니다.QQ App Id 필드의 QQ 애플리케이션 설정에서 AppID를 지정합니다.
애플리케이션 측에서 통합하기
소셜 로그인 버튼을 클릭하면 LaunchNativeSocialAuthentication
메소드 호출을 구현합니다. 구현 예시는 데모 프로젝트에 있는 BP_LoginController
컨트롤러의 AuthenticateViaSocialNetwork
메소드에서 제공됩니다.
유용한 링크
마지막 업데이트: 2024년 1월 22일오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.