เพิ่มความสะดวกให้กับผู้ใช้สูงสุดด้วยการเปิดใช้การแชร์ข้อมูลเข้าสู่ระบบข้ามแพลตฟอร์มอย่างราบรื่นในแอปและเว็บไซต์ เมื่อเว็บไซต์และแอป Android หลายรายการใช้แบ็กเอนด์การจัดการบัญชีร่วมกัน ฟีเจอร์นี้จะช่วยให้ผู้ใช้บันทึกข้อมูลเข้าสู่ระบบได้เพียงครั้งเดียวและระบบจะแนะนำข้อมูลเข้าสู่ระบบนั้นโดยอัตโนมัติในเว็บไซต์หรือแอป Android ที่ลิงก์ไว้
แนวทางปฏิบัติแนะนำ
ใช้การแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นในทัชพอยต์ต่อไปนี้เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานและความปลอดภัยที่ดีที่สุด
- แบบฟอร์มการลงชื่อเข้าใช้: เปิดใช้การป้อนข้อมูลเข้าสู่ระบบอัตโนมัติ
- แบบฟอร์มลงชื่อสมัครใช้: จัดเก็บข้อมูลเข้าสู่ระบบใหม่อย่างปลอดภัยเพื่อใช้ในแพลตฟอร์มต่างๆ
- แบบฟอร์มเปลี่ยนรหัสผ่าน: ซิงค์การอัปเดตรหัสผ่านในแพลตฟอร์มทั้งหมด
- แบบฟอร์มการรีเซ็ตรหัสผ่าน: อนุญาตให้รีเซ็ตรหัสผ่านครั้งเดียวเพื่ออัปเดตแพลตฟอร์มทั้งหมด
- โดเมน WebView: ขยายการแชร์ข้อมูลเข้าสู่ระบบไปยังโดเมน WebView ภายในแอปที่จัดการการจัดการบัญชี (แบบฟอร์มการลงชื่อเข้าใช้ของโฮสต์ การลงชื่อสมัครใช้ การเปลี่ยนรหัสผ่าน หรือการรีเซ็ตรหัสผ่าน)
- แอป Android
แนวทางนี้สร้างระบบการจัดการข้อมูลเข้าสู่ระบบแบบรวม ซึ่งช่วยเพิ่มความสะดวกและความปลอดภัยให้แก่ผู้ใช้
เมื่อออกแบบเว็บไซต์การจัดการบัญชี เราขอแนะนำให้คุณทําตามแนวทางปฏิบัติแนะนำต่อไปนี้สําหรับเว็บไซต์การจัดการบัญชี
- ออกแบบแบบฟอร์มการลงชื่อสมัครใช้ตามแนวทางปฏิบัติแนะนำ
- ออกแบบแบบฟอร์มการลงชื่อเข้าใช้ตามแนวทางปฏิบัติแนะนำ
- เพิ่ม URL ที่รู้จักกันดีสำหรับการเปลี่ยนรหัสผ่าน
เมื่อออกแบบแอป Android เราขอแนะนำให้คุณผสานรวมแอปกับเครื่องมือจัดการข้อมูลเข้าสู่ระบบของ Android
ข้อกำหนดเบื้องต้น
ก่อนตั้งค่าการแชร์ข้อมูลเข้าสู่ระบบอย่างราบรื่น โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้สำหรับแต่ละแพลตฟอร์ม
สําหรับแอป Android แต่ละแอป
- รหัสแอปพลิเคชัน Android ตามที่ประกาศไว้ในไฟล์
build.gradle
ของแอป - ลายนิ้วมือ SHA256 ของใบรับรองการรับรอง
- (แนะนำ) การลงชื่อเข้าใช้ของผู้ใช้ที่ติดตั้งใช้งานด้วย Credential Manager API
สำหรับแต่ละเว็บไซต์
- ความสามารถในการเผยแพร่ไฟล์
/.well-known/assetlinks.json
ในโดเมนที่เกี่ยวข้องแต่ละโดเมนตามไวยากรณ์ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) - โดเมนการจัดการบัญชีทั้งหมด (แบบฟอร์มการลงชื่อเข้าใช้ การลงชื่อสมัครใช้ การเปลี่ยนรหัสผ่าน หรือการเปลี่ยนรหัสผ่าน) ต้องเข้าถึงได้ผ่าน HTTPS
เปิดใช้การแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นในแอปและเว็บไซต์ต่างๆ ของ Android
หากต้องการกำหนดค่าการแชร์ข้อมูลเข้าสู่ระบบในแอปและเว็บไซต์อย่างราบรื่น คุณจะต้องสร้างและเผยแพร่รายการคำสั่งลิงก์เนื้อหาดิจิทัลที่ประกาศว่าเอนทิตีใด (เว็บไซต์หรือแอป Android) ได้รับอนุญาตให้แชร์ข้อมูลเข้าสู่ระบบ
วิธีประกาศความสัมพันธ์การแชร์ข้อมูลเข้าสู่ระบบ
สร้างไฟล์
assetlinks.json
ที่มีคำสั่งที่ลิงก์ไปยังเว็บไซต์และแอป Android โดยทำตามไวยากรณ์รายการคำสั่ง DALs ดังนี้[ { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"web", "site":URL } }, { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"android_app", "package_name":"APP_ID", "sha256_cert_fingerprints":[ "SHA_HEX_VALUE" ] } } ]
โดยที่
URL
คือ URL ของเว็บไซต์APP_ID
คือ รหัสแอปพลิเคชัน Android และSHA_HEX_VALUE
คือลายนิ้วมือ SHA256 ของใบรับรองการลงนามแอป Androidช่อง
relation
จะอธิบายความสัมพันธ์ที่กำลังประกาศ หากต้องการประกาศว่าแอปและเว็บไซต์ใช้ข้อมูลเข้าสู่ระบบร่วมกัน ให้ระบุความสัมพันธ์เป็นdelegate_permission/common.get_login_creds
ดูข้อมูลเพิ่มเติมเกี่ยวกับสตริงความสัมพันธ์ใน DALฟิลด์
target
คือออบเจ็กต์ที่ระบุเนื้อหาที่ใช้ประกาศฟิลด์ต่อไปนี้จะระบุเว็บไซต์
namespace
web
site
URL ของเว็บไซต์ในรูปแบบ
https://domain[:optional_port
] เช่น https://www.example.comdomain
ต้องระบุค่าอย่างเต็มรูปแบบ และไม่ต้องระบุoptional_port
เมื่อใช้พอร์ต 443 สำหรับ HTTPSเป้าหมาย
site
ต้องเป็นโดเมนรูทเท่านั้น คุณไม่สามารถจํากัดการเชื่อมโยงแอปกับไดเรกทอรีย่อยที่เฉพาะเจาะจงได้ อย่าใส่เส้นทางใน URL เช่น เครื่องหมายทับต่อท้ายระบบจะไม่ถือว่าโดเมนย่อยตรงกัน กล่าวคือ หากคุณระบุ
domain
เป็น www.example.com โดเมน www.counter.example.com จะไม่เชื่อมโยงกับแอปของคุณฟิลด์ต่อไปนี้จะระบุแอป Android
เนมสเปซ
android_app
package_name
ชื่อแพ็กเกจที่ประกาศไว้ในไฟล์ Manifest ของแอป เช่น com.example.android
sha256_cert_fingerprints
ลายนิ้วมือ SHA256 ของใบรับรองที่ลงนามของแอป
โฮสต์ไฟล์ JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ในตำแหน่งต่อไปนี้ในโดเมนการลงชื่อเข้าใช้
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
โดยที่DOMAIN
เป็นโดเมนแบบเต็ม และจะต้องยกเว้นOPTIONAL_PORT
เมื่อใช้พอร์ต 443 สำหรับ HTTPSประกาศการเชื่อมโยงในแอป Android ด้วยการฝังคำสั่งในไฟล์
res/values/strings.xml
ของแอป Android ซึ่งลิงก์กับรายการคำสั่งที่คุณสร้างขึ้นในขั้นตอนที่ 1 เพิ่มออบเจ็กต์ที่ระบุไฟล์assetlinks.json
ที่จะโหลด เช่น<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
แทนที่
DOMAIN
และOPTIONAL_PORT
(ไม่ต้องใส่เมื่อใช้พอร์ต 443 สำหรับ HTTPS) เช่นhttps://www.example.com
ไม่ใช้เครื่องหมายอะพอสทรอฟี และเครื่องหมายคำพูดที่คุณใช้ในสตริงนอกจากนี้ คุณยังเพิ่มข้อมูลโค้ด JSON ในไฟล์
strings.xml
ได้ดังที่แสดงในเอกสารประกอบของ DAL แต่การใช้คำสั่งinclude
จะช่วยให้คุณเปลี่ยนแปลงคำสั่งได้โดยไม่ต้องเผยแพร่แอปเวอร์ชันใหม่อ้างอิงคำสั่งในไฟล์ Manifest โดยเพิ่มบรรทัดต่อไปนี้ลงในไฟล์
AndroidManifest.xml
ของแอปในส่วน<application>
<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
เผยแพร่แอป Android เวอร์ชันใหม่ใน Google Play Console
หลังจากทำตามขั้นตอนเหล่านี้ คุณได้ตั้งค่าการแชร์ข้อมูลเข้าสู่ระบบที่ราบรื่นระหว่างเว็บไซต์และแอป Android เรียบร้อยแล้ว
โปรดทราบว่านี่ไม่ใช่วิธีเดียวที่ถูกต้องในการตั้งค่า DAL สำหรับการแชร์ข้อมูลเข้าสู่ระบบ แต่วิธีนี้ช่วยให้กระบวนการเพิ่มเอนทิตีใหม่ไปยังเครือข่ายการแชร์ข้อมูลเข้าสู่ระบบเป็นไปอย่างราบรื่นในอนาคต ส่งเสริมการนำโค้ดมาใช้ซ้ำ และลดโอกาสที่จะเกิดข้อผิดพลาดระหว่างการอัปเดต