ข้ามไปที่เนื้อหา

เข้าสู่ระบบอัตโนมัติไปยังเว็บไซต์ภายนอก

การเข้าสู่ระบบอัตโนมัติของเว็บไซต์ภายนอก ช่วยให้ผู้ใช้ที่ได้เข้าสู่ระบบในเว็บไซต์ภายนอก (เช่น Hive Community) สามารถเปิดเกม PC ผ่าน Crossplay Launcher และเข้าสู่ระบบโดยอัตโนมัติ—โดยไม่ต้องทำขั้นตอนการเข้าสู่ระบบเพิ่มเติมใดๆ

กระบวนการพื้นฐานและการนำไปใช้

การเข้าสู่ระบบเกมโดยอัตโนมัติผ่านตัวเปิดข้ามแพลตฟอร์มจากเว็บไซต์ภายนอก กระบวนการทำงานพื้นฐานมีดังนี้:

  1. เข้าสู่ระบบในเว็บไซต์ที่รองรับ 'การเข้าสู่ระบบอัตโนมัติจากภายนอกเกม' เช่น Hive Community.
  2. หลังจากทำการเข้าสู่ระบบเสร็จสิ้น ให้สร้างโทเค็นโดยใช้ Token Issuance API for Automatic Login to External Websites.
  3. คลิก Run Game บนเว็บไซต์ที่เข้าสู่ระบบแล้วเพื่อเปิดเกม PC โดยใช้ Crossplay Launcher.
  4. โอนโทเค็นที่ออกในข้อ 2. ไปยังเกมผ่าน crossplay launcher ที่ทำงานบน PC
  5. ทำการเข้าสู่ระบบอัตโนมัติในเกม.

ตามกระบวนการดำเนินงานข้างต้น นักพัฒนาเกมสามารถดำเนินการ เข้าสู่ระบบอัตโนมัติจากเว็บไซต์ภายนอก โดยผ่านสองขั้นตอนต่อไปนี้

  1. ใช้ API การเข้าสู่ระบบเว็บเพื่อออกโทเค็น
  2. โอนโทเค็นไปยังเกมผ่าน Crossplay Launcher

ข้อกำหนดเบื้องต้น

ก่อนที่จะดำเนินการ การเข้าสู่ระบบอัตโนมัติผ่าน Crossplay Launcher บนเว็บไซต์ภายนอก คุณต้องเตรียมสิ่งต่อไปนี้

  • สภาพแวดล้อมการสื่อสารที่สามารถใช้ API Web Login
  • สภาพแวดล้อมบริการเกมที่ใช้ Crossplay Launcher
  • SDK v4 Windows.24.4.0 หรือสูงกว่า
    • ฟังก์ชันการเข้าสู่ระบบอัตโนมัติบนเว็บไซต์ภายนอกทำงานได้เฉพาะกับเกมที่ใช้ SDK Windows v4.24.0.0 หรือสูงกว่า.
Note

1. ใช้ API การเข้าสู่ระบบผ่านเว็บเพื่อออกโทเค็น

เมื่อผู้ใช้เสร็จสิ้นการเข้าสู่ระบบเว็บไซต์ภายนอก นักพัฒนาจะดำเนินการออกโทเค็นที่จำเป็นสำหรับการเข้าสู่ระบบอัตโนมัติไปยังเกมจากเว็บไซต์ที่ผู้ใช้เข้าสู่ระบบ

ขอสาม API ที่ให้โดย API เว็บล็อกอิน ในลำดับต่อไปนี้และรับโทเค็น web_idp_token เป็นการตอบกลับ

  1. เรียกดูหน้าเข้าสู่ระบบ คำขอ API

    • รับค่า state เป็นการตอบกลับหลังจากคำขอ.
  2. ตรวจสอบการเข้าสู่ระบบและดึงข้อมูลผู้ใช้ การร้องขอ API

    • รับค่าตอบกลับ enc_idp หลังจากการร้องขอ.
    Warning
    • เนื่องจาก enc_idp เป็นค่าที่ไม่ซ้ำกัน จึงควรระมัดระวังไม่ให้เปิดเผยต่อภายนอก ausเหตุผลด้านความปลอดภัย (เมื่อเรียกใช้ API การสื่อสารระหว่างเซิร์ฟเวอร์เป็นสิ่งจำเป็น)
  3. ออกตั๋วสำหรับการเข้าสู่ระบบอัตโนมัติจากเว็บไซต์ภายนอก คำขอ API

    • หลังจากคำขอ ตั๋ว web_idp_token จะถูกออกเป็นการตอบกลับ。
    Note
    • โทเค็น web_idp_token จะถูกส่งไปยังเกมผ่าน Crossplay Launcher.
    • โทเค็น web_idp_token เป็นค่าที่ใช้ครั้งเดียว ต้องขอใหม่ทุกครั้งเมื่อเริ่มเกม

2. การส่งโทเค็นไปยังเกมผ่าน Crossplay Launcher

เมื่อผู้ใช้เรียกใช้เกม PC ด้วย Crossplay Launcher จากเว็บไซต์ภายนอกที่ผู้ใช้ได้เข้าสู่ระบบแล้ว นักพัฒนาจะเข้ารหัสและส่งโทเค็น web_idp_token ที่ออกในขั้นตอนก่อนหน้าไปยังเกมเพื่อเปิดใช้งานการเข้าสู่ระบบอัตโนมัติ。

กระบวนการในการทำการเข้าสู่ระบบอัตโนมัติโดยการส่งโทเค็นไปยังเกมมีดังนี้:

  1. เข้ารหัสโทเค็นที่ออก
  2. กำหนดค่า URI สำหรับการเข้าสู่ระบบอัตโนมัติ รวมถึงโทเค็นที่เข้ารหัส
    • รวมโทเค็นที่เข้ารหัสใน URI การติดตั้งเกมอัตโนมัติหรือ URI การดำเนินการเกม
  3. นำเข้าโค้ด JavaScript รวมถึง URI สำหรับการเข้าสู่ระบบอัตโนมัติ
  4. เมื่อผู้ใช้เรียกใช้เกม PC ด้วยตัวเปิดการเล่นข้าม เกมและการดำเนินการจะเสร็จสิ้นด้วย URI ที่กำหนดค่าในโค้ด JavaScript และการเข้าสู่ระบบอัตโนมัติจะเสร็จสิ้น
Warning

หากคุณไม่ได้เข้าสู่ระบบในเว็บไซต์ภายนอก คุณจะไม่สามารถส่ง web_idp_token ไปยัง URI การดำเนินการเกมได้ และการเข้าสู่ระบบอัตโนมัติจะไม่เกิดขึ้นเป็นผล

เกี่ยวกับกระบวนการข้างต้น กรุณาอ้างอิงไปยังคู่มือการใช้งานสำหรับการให้บริการเกมด้วยตัวเปิดข้ามแพลตฟอร์ม

กำหนด URI สำหรับการเข้าสู่ระบบอัตโนมัติ

URI สำหรับการเข้าสู่ระบบอัตโนมัติถูกกำหนดโดยการรวมโทเค็นที่เข้ารหัสใน URI ที่ได้รับมาก่อนหน้านี้ ขึ้นอยู่กับว่า Crossplay Launcher ถูกติดตั้งบน PC ของผู้ใช้หรือไม่

หากยังไม่ได้ติดตั้ง Crossplay Launcher

รวมโทเค็นที่เข้ารหัสใน URI การติดตั้งเกมอัตโนมัติ.

หากผู้ใช้คลิกปุ่มดาวน์โหลดสำหรับตัวติดตั้ง Crossplay Launcher ในขณะที่ยังไม่ได้ติดตั้ง Crossplay โค้ด JavaScript ที่นำมาใช้จะคัดลอก URI การติดตั้งเกมอัตโนมัติ ไปยังคลิปบอร์ดของคอมพิวเตอร์ของผู้ใช้ และตัวติดตั้ง Crossplay Launcher ที่ติดตั้งแล้วจะค้นหา URI การติดตั้งเกมอัตโนมัติ เพื่อทำการติดตั้งและเรียกใช้งานเกมบนคอมพิวเตอร์ ดังนั้น หากยังไม่ได้ติดตั้ง Crossplay Launcher คุณต้องรวมโทเค็นที่เข้ารหัสใน URI การติดตั้งเกมอัตโนมัติ ที่ตัวติดตั้ง Crossplay Launcher จะค้นหา

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้งานเมื่อไม่ได้ติดตั้ง Crossplay Launcher โปรดดูที่ คู่มือการใช้งาน Crossplay Launcher

นี่คือตัวอย่างของ URI การติดตั้งเกมอัตโนมัติ ที่มีโทเค็นที่เข้ารหัส:

hivelauncher:?app_id={AppID encoding result of the logged-in game}&start_point=9&web_idp_token={web_idp_toekn encoding result} {The entire left URI is sha1 encrypted}

# Example
hivelauncher:?app_id=com.com2us.hivesdk.windows.microsoftstore.global.normal&start_point=9&web_idp_token=eb5605514b44d7ae07f93d3921f202d0a7810eda8c343e42877b23a8a2bb5675462ae3f44c95ec59b0bdaa2ff8b28c4a971acd9439e98ef29f1c7204c230f782 9e93d5396ce59f5eaf3c3ee24a1ccda3e008364b

หากติดตั้ง Crossplay Launcher แล้ว

รวมโทเค็นที่เข้ารหัสใน Game Launch URI.

หากผู้ใช้คลิกปุ่ม Launch Game ขณะที่ติดตั้ง Crossplay Launcher อยู่ Crossplay Launcher จะติดตั้งและเปิดเกมโดยอัตโนมัติหลังจากเปิด Game Launch URI โดยใช้โค้ด JavaScript ที่คุณได้ทำการ implement ไว้ก่อนหน้านี้ ดังนั้น หากติดตั้ง Crossplay Launcher แล้ว คุณต้องรวมโทเค็นที่เข้ารหัสใน Game Launch URI ที่จำเป็นสำหรับการติดตั้งและเปิดเกมทันที

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้งานเมื่อได้ติดตั้ง Crossplay Launcher แล้ว โปรดดูที่ คู่มือการใช้งาน Crossplay Launcher

นี่คือตัวอย่างของ URI การเปิดเกม ที่มีโทเค็นที่เข้ารหัส:

hivelauncher:?app_id={Encoded AppID of the logged-in game}&start_point=9&web_idp_token={Encoded web_idp_toekn}

# Example
hivelauncher:?app_id=com.com2us.hivesdk.windows.microsoftstore.global.normal&start_point=9&web_idp_token=8549cd7cf3ae7d8cab788abbb3bbf4c2306e38b7d442f02214b492c98f1c05bfff7466a64ad1a3704c962d1aec0268874830eac11455c0c562aed3c0c3505a1f

การดำเนินการโค้ด Javascript ของ Crossplay Launcher

ใน 'การเรียกใช้โค้ด Javascript ของ Crossplay Launcher' จะมีการเรียกใช้ Crossplay Launcher และเกมด้วย URI ที่กำหนดไว้ข้างต้น ในขณะนี้ โทเค็น web_idp_token ที่ออกโดย API การเข้าสู่ระบบผ่านเว็บจะถูกส่งไปยังเกม ดังนั้นการเข้าสู่ระบบอัตโนมัติไปยังเกมที่เรียกใช้ด้วย Crossplay Launcher จึงสามารถทำได้

การดำเนินการโค้ด Javascript สำหรับ Crossplay Launcher ตัวอย่างมีดังนี้

     // Set the AppID of the logged-in game.
     var appid = "로그인한 게임의 AppId 세팀함";
     // When installing the launcher, set the URI for running the game.
     var url_play_game = "hivelauncher:?app_id=" + encodeURIComponent(appid) + "&start_point=9";

     // When not installing the launcher, set the URI to copy to the clipboard.
     var url_play_clipbord = "hivelauncher:?app_id=" + encodeURIComponent(appid) + "&start_point=9";

     // Implement the API call logic separately to obtain web_idp_token.
     // At this time, call the internal path with ajax and call the API on the server side. (Required for security)
     // Information about the API can be found in the API call under “1. Issuing tokens using the web login API” above.
         // Set the web_idp_token value obtained as a result of the API call.
     var web_idp_token = "API를 통해 획득 한 토큰 값 세팅함";

     // Apply the web_idp_token to the URI when it is successfully obtained.
     if(web_idp_token != ""){
          // When the launcher is installed, add the token value for automatic login to the URI for running the game.
          url_play_game += ("&web_idp_token=" + encodeURIComponent(web_idp_token));

          // When the launcher is not installed, add the token value for automatic login to the URI to be copied to the clipboard.
          url_play_clipbord += ("&web_idp_token=" + encodeURIComponent(web_idp_token));
          // Separately implement and apply the sha1 encryption function with a space.
          url_play_clipbord += (" " + sha1(url_play_clipbord));
     }

     // Information on this function can be found in the “Implementation Guide for Serving Games with Crossplay Launcher” above.
     window.customProtocolCheck(
          url_play_game, // Pass the URI for running the game set above.
          function (e) {
               // Add processing when Crossplay Launcher execution fails.

               // ex. This is an example of necessary actions.
               // Separately implement and apply the function to copy to the clipboard.
               copyClipboard(url_play_clipbord);.
          },
          function (e) {
               // Add any necessary actions when Crossplay Launcher execution succeeds.
          },
          2500, function (e) {
               // Add processing when there is no response for more than 2500ms after Crossplay Launcher execution request.
     );

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการนำไปใช้และการรันโค้ด Javascript โปรดดูที่ คู่มือการใช้งาน Crossplay Launcher.