딥링크를 통한 인증 설정

딥 링크를 사용하면 사용자 ID 또는 엑솔라 로그인을 통한 인증 프로세스를 거치지 않아도 클릭 한 번으로 게임에서 웹샵으로 인증할 수 있습니다.

사용자의 모바일 기기에 게임이 설치되어 있으면 인증 토큰을 받을 수 있도록 딥 링크를 통해 게임으로 리디렉션됩니다.

사용자 절차

  1. 웹샵에서 인증되지 않은 사용자가 로그인 버튼 또는 구매 버튼을 클릭합니다. 사용자 ID를 입력하거나 모바일 게임을 통해 로그인할 수 있는 모달 창이 열립니다.
  1. 사용자가 게임에서 로그인 버튼을 클릭합니다.
  2. 사용자는 인증된 사용자로 웹샵으로 자동 리디렉션되는 게임으로 리디렉션됩니다.

  1. 웹샵에서 인증되지 않은 사용자가 로그인 버튼 또는 구매 버튼을 클릭합니다. 사용자 ID를 입력하거나 QR 코드를 사용하여 모바일 버전의 게임에 로그인할 수 있는 모달 창이 열립니다.

  1. 사용자가 모바일 기기로 QR 코드를 스캔하면 모바일 기기에서 웹샵이 열립니다.
  2. 사용자의 모바일 기기에서 모바일 버전의 게임이 열립니다.
  3. 사용자는 인증된 사용자로 모바일 기기의 웹샵으로 자동 리디렉션됩니다.
  1. 게임의 모바일 앱 설정에서 딥링크를 통해 게임을 열 수 있는 URL 스키마를 등록합니다.
    • 안드로이드 애플리케이션의 경우 AndroidManifest.xml 파일에서
    • iOS 애플리케이션의 경우 Info.plist 파일에서
URL 스키마를 등록한 후 사용자가 게임에서 웹샵으로 인증하면 지정된 주소에서 게임이 열립니다. 게임을 등록할 때 사용하는 URL 스키마의 예시: gamename://authorize, 여기서:
  • gamename - 사용자 인증 시 모바일 기기에서 열어야 하는 게임 이름.
  • authorize - gamename 게임이 열린 후 수행해야 하는 작업 이름의 예시. 애플리케이션 운영 체제의 작업과 일치하는 작업 이름을 사용합니다.
iOS 애플리케이션에서 URL 스키마를 등록하는 예시:
Copy
Full screen
Small screen
    <key>CFBundleURLTypes</key>
      <array>
        <dict>
          <key>CFBundleTypeRole</key>
          <string>Editor</string>
          <key>CFBundleURLSchemes</key>
          <array>
            <string>gamename</string>
          </array>
        </dict>
      </array>
    

    Android 애플리케이션에 URL 스키마를 등록하는 예시:

    Copy
    Full screen
    Small screen
      <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <data android:scheme="gamename" android:host="authorize" />
      </intent-filter>
      

      1. 게임의 사용자 ID를 사용하여 JWT 형식의 인증 토큰 생성을 구현합니다.

      매개 변수유형설명
      string관리자 페이지에서 인증 방식의 ID입니다. 필수 항목.
      string웹샵에서 사용자 인증 웹훅을 수신할 때 사용하는 URL입니다. 이 URL은 사용자 ID를 통한 인증 설정 시 지정된 주소와 일치해야 합니다. 엑솔라는 웹훅에 대한 응답으로 웹샵 사용자를 인증하기 위해 200 HTTP 코드를 기대합니다. 엑솔라가 404 HTTP 코드가 포함된 응답을 받거나 응답을 받지 못하면 사용자가 인증되지 않습니다.

      "webhookUrl": "https://nowebhook.com" 값을 지정하여 딥 링크를 통해 인증할 때 웹훅을 비활성화할 수 있습니다. 이 경우 엑솔라는 사용자의 존재 여부를 확인하지 않으므로 user.id 매개 변수에서 게임 내에 존재하는 사용자 ID를 전달해야 합니다.
      필수 항목.
      string프로젝트 ID는 관리자 페이지에서 찾을 수 있으며, 브라우저 주소 표시줄의 프로젝트 이름 옆에 표시됩니다. URL의 형식: https:​//publisher.xsolla.com/merchant ID/Publisher Account section. 필수 항목.
      string게임의 사용자 ID. 필수 항목.
      string사용자 이름. 필수 항목.

      curl을 사용하여 사용자 토큰 생성 API 메소드를 호출하는 예시:

      Copy
      Full screen
      Small screen
      curl --location 'https://sb-user-id-service.xsolla.com/api/v1/user-id' \
      --header 'Content-Type: application/json' \
      --data '{
       "loginId": "000001aa-001a-0ab0-00001-01a01a01a01a",
       "webhookUrl": "https://nowebhook.com",
       "settings": {
         "projectId": 123456,
         "merchantId": 123456
       },
       "user": {
         "id": "123",
         "name": "a-user-name"
       }
      }'
      

      {token=“JWT_TOKEN”}과 같은 응답을 받게 됩니다.

      1. 인증 성공 알림이 있는 팝업 창을 추가합니다(선택 사항).
      2. 획득한 사용자 토큰을 사용하여 브라우저에서 웹샵 열기를 구현합니다.

      인증된 사용자를 위한 브라우저에서 웹샵을 열 때 사용하는 URL의 생성 예시:

      • 사용자 정의 도메인을 사용하는 경우 https:​//example.com/?token={token}
      • 엑솔라 도메인을 사용하는 경우 https:​//example.xsollasitebuilder.com/?token={token}
      여기서 {token}는 사용자의 인증 토큰입니다.아래 제공된 코드 예시를 사용하여 웹사이트 빌더에서 직접 설정할 수 있습니다.
      설정 지원은 계정 관리자에게 문의하거나 csm@xsolla.com으로 이메일을 보내 주세요.
      알림
      먼저 사용자 ID를 통한 인증을 설정합니다. 이는 딥 링크 인증을 사용할 수 없는 경우 사용자가 다른 인증 방식을 사용할 수 있도록 하기 위해 필요합니다. 예를 들어, 사용자의 모바일 기기에 게임이 설치되어 있지 않은 경우입니다.
      1. 프로젝트를 관리자 페이지에서 엽니다.
      2. 사이드 메뉴에서 웹사이트 빌더를 클릭합니다.
      3. 사용자 ID를 통한 인증으로 웹샵 사이트의 카드에서 구성을 클릭합니다.
      4. 로그인 설정으로 이동하여 사용자 ID 섹션을 선택합니다.
      5. Deeplink 인증을 설정하고 On으로 토글합니다.
      1. Deeplink URL 필드에서 사용자 인증 링크를 입력합니다.
      1. 사이트에서 빠른 로그인 블록을 사용하고 있는 경우:
        1. 빠른 로그인 블록으로 이동합니다.
        2. 레이아웃 섹션에서 QR 코드 토글을 On으로 설정합니다.
      1. 인증을 확인하려면 미리보기를 클릭하십시오.
      2. 웹 사이트를 게시하려면 게시를 클릭하십시오.
      이 기사가 도움이 되었나요?
      감사합니다!
      개선해야 할 점이 있을까요? 메시지
      유감입니다
      이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
      의견을 보내 주셔서 감사드립니다!
      메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
      이 페이지 평가
      이 페이지 평가
      개선해야 할 점이 있을까요?

      답하기 원하지 않습니다

      의견을 보내 주셔서 감사드립니다!
      마지막 업데이트: 2024년 7월 22일

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

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