엔터프라이즈급 Android용 SDK / 소셜 로그인
  문서로 돌아가기

엔터프라이즈급 Android용 SDK

소셜 로그인

애플리케이션에서 소셜 네트워크의 계정을 사용하여 사용자 인증을 구현할 수 있습니다. 사용자가 첫 번째 로그인을 소셜 네트워크를 통해 진행한 경우 새 계정이 자동으로 생성됩니다. 사용자는 사용자 이름, 이메일 주소 또는 기타 데이터를 입력할 필요가 없습니다.

소셜 네트워크를 통해 인증을 구현하는 두 가지 방식:

  • 웹 기반 인증. 이 경우, 애플리케이션은 브라우저에서 양식을 열고 선택한 소셜 네트워크를 통해 인증을 완료합니다. 이 옵션은 모바일 및 데스크톱 애플리케이션 모두에 적합합니다.
  • 네이티브 인증. 이 경우, 사용자 장치의 소셜 네트워크 애플리케이션을 통해 인증을 수행합니다. 이 옵션은 모바일 애플리케이션에서만 적합합니다.

애플리케이션의 기본 또는 대체 인증 방식으로 소셜 로그인을 사용할 수 있습니다.

소셜 로그인을 대체 인증 방식으로 사용하는 경우, 다음 조건을 만족할 시 해당 소셜 네트워크 계정이 기존 사용자 계정에 자동으로 연결됩니다:

  • 사용자 이름/이메일 주소 및 암호로 가입한 사용자가 소셜 네트워크 계정을 통해 애플리케이션에 로그인했습니다.
  • 소셜 네트워크는 이메일 주소를 반환합니다.
  • 애플리케이션에 가입할 때 사용한 이메일 주소와 소셜 네트워크의 사용자 이메일 주소는 일치합니다.

소셜 네트워크 계정 연결을 수동으로 구현할 수도 있습니다.

방법

저희가 제공하는 방법 안내서에서 고급 설정에 대해 자세히 알아보세요.

소셜 네트워크를 통한 웹 기반 인증 설정 방법

SDK는 소셜 로그인에 다음 공급 업체를 지원합니다:

  • Amazon
  • Apple
  • Baidu
  • Battle.net
  • Discord
  • Facebook
  • GitHub
  • Google
  • Kakao
  • LinkedIn
  • MSN
  • Mail.ru
  • Microsoft
  • Naver
  • Odnoklassniki
  • PayPal
  • QQ
  • Reddit
  • Steam
  • Twitch.tv
  • Twitter
  • VK
  • Vimeo
  • WeChat
  • Weibo
  • Xbox Live
  • Yahoo
  • Yandex
  • YouTube

웹 서비스를 통한 인증 설정 방법:

  1. 애플리케이션 인터페이스에서 소셜 네트워크를 통한 인증에 사용할 버튼을 추가합니다.
  2. 관리자 페이지에서 로그인 프로젝트에서 사용할 소셜 연결을 설정합니다.
  3. 애플리케이션 측에서 인증 로직을 구현합니다.

엑솔라 관리자 페이지에서 로그인 프로젝트용 SNS 설정

주의
관리자 페이지에서 애플리케이션에서 사용하는 로그인 프로젝트에 대해 클래식 로그인소셜 로그인 옵션을 선택했는지 확인해야 합니다. 로그인 방법 변경 링크를 클릭하여 나중에 로그인 방법을 변경할 수 있습니다. 이전에 저장한 설정은 사라지지 않습니다.
  1. 관리자 페이지에서 프로젝트를 엽니다.
  2. 사이드 메뉴에서 로그인을 클릭합니다.
  3. 로그인 프로젝트의 패널에서 구성을 클릭합니다.
  4. 인증 블록으로 이동한 후 소셜 로그인 섹션을 선택합니다.

  1. 사용자가 애플리케이션에 등록하고 로그인할 때 사용할 수 있는 소셜 네트워크를 연결합니다.

    • SNS를 연결하려면, 패널에 있는 ⚙을 클릭하고 연결을 선택합니다.
    • 여러 개의 소셜 네트워크를 동시에 연결하려면, 필요한 패널을 선택합니다(테두리가 녹색으로 변합니다). 그런 다음, 관리 드롭다운 메뉴에서 연결을 선택합니다.
    • 사용 가능한 소셜 네트워크를 모두 연결하려면 모두 선택을 클릭합니다. 그런 다음, 관리 드롭 다운 메뉴에서, 연결을 선택합니다.
알림
엑솔라의 애플리케이션 ID와 비밀 키를 인증에 기본으로 사용합니다. 소셜 서비스 제공업체의 개발자 계정을 사용하여 애플리케이션을 설정한 경우 고유한 애플리케이션 ID와 비밀 키를 지정할 수 있습니다. 애플리케이션 ID와 비밀 키 위치 지정에 대한 자세한 지침은 관리자 페이지의 소셜 네트워크 카드 설정에서 확인할 수 있습니다.

애플리케이션 측에서 통합하기

소셜 로그인 버튼을 클릭할 때 구현하는 로직:
  1. Login 라이브러리에서 startSocialAuth 메소드를 호출하는 로직.
  2. onActivityResult 메소드 내에서 Login 라이브러리로부터 finishSocialAuth 메소드를 호출하는 로직.
SDK 참조 문서
SDK 메소드 및 해당 매개변수에 대해 알아봅니다.
이 기사가 도움이 되었나요?
감사합니다!
개선해야 할 점이 있을까요? 메시지
유감입니다
이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
숨기기

SNS를 통한 고유 인증 설정 방법

주의
Login 라이브러리 작업 시 이 방법 안내서를 사용합니다.

기본 인증은 모바일 기기에서 구성된 SNS 계정을 통해 사용자가 여러분의 애플리케이션에 로그인할 수 있게 합니다.

사용자가 처음 로그인하면, SNS 애플리케이션은 실행된 다음 사용자 인증 권한을 요청합니다. 그후에는 인증이 자동으로 사용자에게 아무것도 요구하지 않고 자동으로 수행됩니다.

현재 SDK가 다음 SNS를 통한 기본 인증을 구현했습니다.

  • Google
  • Facebook
  • WeChat
  • QQ

기본 인증 구성 방법:

  1. 애플리케이션 인터페이스에서 소셜 네트워크를 통한 인증에 사용할 버튼을 추가합니다.
  2. 개발자 계정에서 SNS용 애플리케이션 구성 방법:
    1. Facebook을 통한 인증:
      1. 등록하고 새 애플리케이션을 만듭니다.
      2. Facebook 개발자 계정에서 애플리케이션 페이지를 설정합니다.
    2. Google을 통한 인증은 Google API 콘솔에서 프로젝트를 설정합니다.
    3. WeChat을 통한 인증:
      1. 등록하고 새 애플리케이션을 만듭니다.
      2. 검토용 애플리케이션을 제출합니다.
    4. QQ를 통한 인증:
      1. 등록하고 새 애플리케이션을 만듭니다.
      2. 검토용 애플리케이션을 제출합니다.

  1. 엑솔라 측에서 SNS를 통한 인증 설정 방법:
    1. Facebook 및 Google은 관리자 페이지에서 SNS 연결을 설정합니다.
    2. WeChat 및 QQ는 고객 성공 매니저에게 문의하거나 csm@xsolla.com으로 이메일을 보냅니다.

  1. SNS를 통한 인증용 라이브러리를 설치합니다. 이를 수행하려면 애플리케이션의 build.gradle 파일을 열고 종속성 섹션에서 다음 줄을 추가합니다. 여기서 <version_number>는 라이브러리의 필수 버전입니다.
    • Facebook을 통한 인증:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-facebook:<version_number>'
    • Google을 통한 인증:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-google:<version_number>'
    • WeChat을 통한 인증:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-wechat:<version_number>'
    • QQ를 통한 인증:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-qq:<version_number>'

  1. Login 라이브러리를 다음 매개 변수를 이용해 초기화합니다.
    • facebook_id — Facebook 개발자 계정 앱 ID
    • google_id — Google API 콘솔의 웹 애플리케이션용 클라이언트 ID
    • wechat_id — WeChat 개발자 계정 AppID
    • qq_id — QQ 개발자 계정 AppID

OAuth 2.0을 통한 인증 시 라이브러리 초기화 예시:

Copy
Full screen
Small screen
val loginConfig = LoginConfig.OauthBuilder()
                .setProjectId("login-project-id")
                .setOauthClientId("oauth2-client-id")
                .setSocialConfig(XLogin.SocialConfig(
                     facebookAppId = "facebook_id",
                     googleServerId = "google_id",
                     wechatAppId = "wechat_id",
                     qqAppId = "qq_id"
                ))

                .build()

XLogin.init(applicationContext, loginConfig)
  1. WeChat을 통한 인증은 애플리케이션 코드를 수정합니다.
    • WXEntryActivity 클래스를 <your_package_name>.wxapi 패키지에 추가합니다. 여기서 <your_package_name>은 여러분의 애플리케이션 패키지 이름입니다.
Copy
Full screen
Small screen
package <your_package_name>.wxapi

import android.app.Activity
import android.os.Bundle
import com.tencent.mm.opensdk.modelbase.BaseReq
import com.tencent.mm.opensdk.modelbase.BaseResp
import com.tencent.mm.opensdk.openapi.IWXAPI
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
import com.tencent.mm.opensdk.openapi.WXAPIFactory
import com.xsolla.android.login.util.WechatUtils

class WXEntryActivity : Activity(), IWXAPIEventHandler {

    private lateinit var iwxapi: IWXAPI

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        iwxapi = WXAPIFactory.createWXAPI(this, WechatUtils.wechatAppId, false)
        iwxapi.handleIntent(intent, this)
        finish()
    }

    override fun onReq(req: BaseReq?) {
    }

    override fun onResp(resp: BaseResp) {
        WechatUtils.wechatResult = resp
    }
}
    • AndroidManifest.xml 파일에 추가할 요소:
Copy
Full screen
Small screen
<activity
        android:name="<your_package_name>.wxapi.WXEntryActivity"
        android:exported="true"
        android:launchMode="singleTask" />

Facebook 개발자 계정의 어플리케이션 페이지 설정

  1. Facebook 개발자 계정에서 프로젝트 설정으로 이동합니다.
  2. 설정 > 기본으로 이동합니다.
  3. 플랫폼 추가를 클릭하고 Android 를 선택합니다.
  4. Google Play 패키지 이름 필드에서 Android 애플리케이션 패키지 이름을 지정합니다.
  5. 기본 활동의 정규화된 클래스 이름을 클래스 이름 필드에서 지정합니다.
  6. 해시 키를 생성하고 키 해시 필드에서 이를 지정합니다.
  7. 변경 내용 저장을 클릭합니다.

추가 고유 인증 구성을 위해서는 설정 > 기본 섹션의 프로젝트 설정에 있는 앱 ID앱 시크릿 코드가 필요합니다.

Google API 콘솔에서 프로젝트 설정

  1. Google API 콘솔로 이동합니다.
  2. 새 프로젝트를 클릭합니다.
  3. 프로젝트 이름위치를 지정하고 저장을 클릭합니다.
  4. 만든 프로젝트로 이동하여 OAuth 동의 화면을 측면 메뉴에서 클릭합니다.
  5. 외부 옵션을 선택하고 생성을 클릭합니다.
  6. 필요한 매개 변수를 지정하고 저장을 클릭합니다.
  7. 측면 메뉴에서 자격 증명을 클릭합니다.
  8. Android 앱용 OAuth 2.0 클라이언트 생성 방법:

    1. 자격 증명 생성을 클릭하고 OAuth 클라이언트 ID를 선택합니다.
    2. Android애플리케이션 유형 필드에서 지정합니다.
    3. 이름을 지정합니다.
    4. Android 애플리케이션의 패키지 이름을 패키지 이름 필드에서 지정합니다.
    5. SHA-키를 가져옵니다.
    6. 전 단계 SHA-키에서 생성된 SHA-키를 SHA-1 인증 지문 필드에서 지정합니다.
    7. 생성을 클릭합니다.
    8. 확인을 클릭합니다.

  1. 웹 애플리케이션용 OAuth 2.0 클라이언트 생성 방법:
    1. 자격 증명 생성을 클릭하고 OAuth 클라이언트 ID를 선택합니다.
    2. 웹 애플리케이션애플리케이션 유형 필드에서 지정합니다.
    3. 이름을 지정합니다.
    4. URI 추가권한이 부여된 리디렉션 URI 섹션에서 클릭하고 https://login.xsolla.com/api/social/oauth2/callback URI을 지정합니다.
    5. 생성을 클릭합니다.
    6. 확인을 클릭합니다.

추가 고유 인증 구성을 위해서는 웹 어플리케이션의 클라이언트 ID 설정에서 Client IDClient Secret가 필요합니다.

엑솔라 관리자 페이지에서 로그인 프로젝트용 SNS 설정

주의
관리자 페이지에서 애플리케이션에서 사용하는 로그인 프로젝트에 대해 클래식 로그인소셜 로그인 옵션을 선택했는지 확인해야 합니다. 로그인 방법 변경 링크를 클릭하여 나중에 로그인 방법을 변경할 수 있습니다. 이전에 저장한 설정은 사라지지 않습니다.
  1. 관리자 페이지에서 프로젝트를 엽니다.
  2. 사이드 메뉴에서 로그인을 클릭합니다.
  3. 로그인 프로젝트의 패널에서 구성을 클릭합니다.
  4. 인증 블록으로 이동한 후 소셜 로그인 섹션을 선택합니다.
  1. 소셜 네트워크를 설정하려면 소셜 네트워크 카드로 이동하여 제목 오른쪽에 있는 ⚙ 아이콘을 클릭한 후 연결을 선택합니다.
알림
소셜 네트워크 인증을 사용하려면 소셜 네트워크 카드 설정에서 프로젝트의 애플리케이션에 있는 애플리케이션 ID와 비밀 키를 지정하십시오. 애플리케이션 ID 및 비밀 키는 소셜 공급업체의 개발자 계정에서 확인할 수 있습니다. 애플리케이션 ID 및 비밀 키를 찾는 자세한 지침은 관리자 페이지의 소셜 네트워크 카드 설정에서 확인할 수 있습니다.

애플리케이션 측에서 통합하기

소셜 로그인 버튼을 클릭할 때 구현하는 로직:
  1. Login 라이브러리에서 startSocialAuth 메소드를 호출하는 로직.
  2. onActivityResult 메소드 내에서 Login 라이브러리로부터 finishSocialAuth 메소드를 호출하는 로직.
SDK 참조 문서
SDK 메소드 및 해당 매개변수에 대해 알아봅니다.
이 기사가 도움이 되었나요?
감사합니다!
개선해야 할 점이 있을까요? 메시지
유감입니다
이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
숨기기

유용한 링크

마지막 업데이트: 2024년 7월 31일

오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

문제 보고
콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
후속 조치를 위해 이메일을 제공해 주세요
의견을 보내 주셔서 감사드립니다!