소셜 로그인
애플리케이션에서 소셜 네트워크의 계정을 사용하여 사용자 인증을 구현할 수 있습니다. 사용자가 첫 번째 로그인을 소셜 네트워크를 통해 진행한 경우 새 계정이 자동으로 생성됩니다. 사용자는 사용자 이름, 이메일 주소 또는 기타 데이터를 입력할 필요가 없습니다.
소셜 네트워크를 통해 인증을 구현하는 두 가지 방식:
- 웹 기반 인증. 이 경우, 애플리케이션은 브라우저에서 양식을 열고 선택한 소셜 네트워크를 통해 인증을 완료합니다. 이 옵션은 모바일 및 데스크톱 애플리케이션 모두에 적합합니다.
- 네이티브 인증. 이 경우, 사용자 장치의 소셜 네트워크 애플리케이션을 통해 인증을 수행합니다. 이 옵션은 모바일 애플리케이션에서만 적합합니다.
애플리케이션의 기본 또는 대체 인증 방식으로 소셜 로그인을 사용할 수 있습니다.
소셜 로그인을 대체 인증 방식으로 사용하는 경우, 다음 조건을 만족할 시 해당 소셜 네트워크 계정이 기존 사용자 계정에 자동으로 연결됩니다:
- 사용자 이름/이메일 주소 및 암호로 가입한 사용자가 소셜 네트워크 계정을 통해 애플리케이션에 로그인했습니다.
- 소셜 네트워크는 이메일 주소를 반환합니다.
- 애플리케이션에 가입할 때 사용한 이메일 주소와 소셜 네트워크의 사용자 이메일 주소는 일치합니다.
소셜 네트워크 계정 연결을 수동으로 구현할 수도 있습니다.
방법
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를 연결하려면, 패널에 있는 ⚙을 클릭하고 연결을 선택합니다.
- 여러 개의 소셜 네트워크를 동시에 연결하려면, 필요한 패널을 선택합니다(테두리가 녹색으로 변합니다). 그런 다음, 관리 드롭다운 메뉴에서 연결을 선택합니다.
- 사용 가능한 소셜 네트워크를 모두 연결하려면 모두 선택을 클릭합니다. 그런 다음, 관리 드롭 다운 메뉴에서, 연결을 선택합니다.
애플리케이션 측에서 통합하기
- Login 라이브러리에서
startSocialAuth
메소드를 호출하는 로직. onActivityResult
메소드 내에서 Login 라이브러리로부터finishSocialAuth
메소드를 호출하는 로직.
기본 인증은 모바일 기기에서 구성된 SNS 계정을 통해 사용자가 여러분의 애플리케이션에 로그인할 수 있게 합니다.
사용자가 처음 로그인하면, SNS 애플리케이션은 실행된 다음 사용자 인증 권한을 요청합니다. 그후에는 인증이 자동으로 사용자에게 아무것도 요구하지 않고 자동으로 수행됩니다.
현재 SDK가 다음 SNS를 통한 기본 인증을 구현했습니다.
기본 인증 구성 방법:
- 애플리케이션 인터페이스에서 소셜 네트워크를 통한 인증에 사용할 버튼을 추가합니다.
- 개발자 계정에서 SNS용 애플리케이션 구성 방법:
- Facebook을 통한 인증:
- 등록하고 새 애플리케이션을 만듭니다.
- Facebook 개발자 계정에서 애플리케이션 페이지를 설정합니다.
- Google을 통한 인증은 Google API 콘솔에서 프로젝트를 설정합니다.
- WeChat을 통한 인증:
- 등록하고 새 애플리케이션을 만듭니다.
- 검토용 애플리케이션을 제출합니다.
- QQ를 통한 인증:
- 등록하고 새 애플리케이션을 만듭니다.
- 검토용 애플리케이션을 제출합니다.
- Facebook을 통한 인증:
- 엑솔라 측에서 SNS를 통한 인증 설정 방법:
- Facebook 및 Google은 관리자 페이지에서 SNS 연결을 설정합니다.
- WeChat 및 QQ는 고객 성공 매니저에게 문의하거나 csm@xsolla.com으로 이메일을 보냅니다.
- SNS를 통한 인증용 라이브러리를 설치합니다. 이를 수행하려면 애플리케이션의
build.gradle
파일을 열고 종속성 섹션에서 다음 줄을 추가합니다. 여기서<version_number>
는 라이브러리의 필수 버전입니다.- Facebook을 통한 인증:
- groovy
implementation 'com.xsolla.android:login-facebook:<version_number>'
- Google을 통한 인증:
- groovy
implementation 'com.xsolla.android:login-google:<version_number>'
- WeChat을 통한 인증:
- groovy
implementation 'com.xsolla.android:login-wechat:<version_number>'
- QQ를 통한 인증:
- groovy
implementation 'com.xsolla.android:login-qq:<version_number>'
- Login 라이브러리를 다음 매개 변수를 이용해 초기화합니다.
facebook_id
— Facebook 개발자 계정 앱 IDgoogle_id
— Google API 콘솔의 웹 애플리케이션용 클라이언트 IDwechat_id
— WeChat 개발자 계정 AppIDqq_id
— QQ 개발자 계정 AppID
OAuth 2.0을 통한 인증 시 라이브러리 초기화 예시:
- kotlin
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)
- WeChat을 통한 인증은 애플리케이션 코드를 수정합니다.
WXEntryActivity
클래스를<your_package_name>.wxapi
패키지에 추가합니다. 여기서<your_package_name>
은 여러분의 애플리케이션 패키지 이름입니다.
- kotlin
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
파일에 추가할 요소:
- kotlin
<activity
android:name="<your_package_name>.wxapi.WXEntryActivity"
android:exported="true"
android:launchMode="singleTask" />
Facebook 개발자 계정의 어플리케이션 페이지 설정
- Facebook 개발자 계정에서 프로젝트 설정으로 이동합니다.
- 설정 > 기본으로 이동합니다.
- 플랫폼 추가를 클릭하고 Android 를 선택합니다.
- Google Play 패키지 이름 필드에서 Android 애플리케이션 패키지 이름을 지정합니다.
- 기본 활동의 정규화된 클래스 이름을 클래스 이름 필드에서 지정합니다.
- 해시 키를 생성하고 키 해시 필드에서 이를 지정합니다.
- 변경 내용 저장을 클릭합니다.
추가 고유 인증 구성을 위해서는 설정 > 기본 섹션의 프로젝트 설정에 있는 앱 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 설정
- 관리자 페이지에서 프로젝트를 엽니다.
- 사이드 메뉴에서 로그인을 클릭합니다.
- 로그인 프로젝트의 패널에서 구성을 클릭합니다.
- 인증 블록으로 이동한 후 소셜 로그인 섹션을 선택합니다.
- 소셜 네트워크를 설정하려면 소셜 네트워크 카드로 이동하여 제목 오른쪽에 있는 ⚙ 아이콘을 클릭한 후 연결을 선택합니다.
애플리케이션 측에서 통합하기
- Login 라이브러리에서
startSocialAuth
메소드를 호출하는 로직. onActivityResult
메소드 내에서 Login 라이브러리로부터finishSocialAuth
메소드를 호출하는 로직.
유용한 링크
마지막 업데이트: 2024년 7월 31일오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.