ข้อกำหนดเบื้องต้นที่สำคัญสำหรับการมอบประสบการณ์การลงชื่อเข้าใช้ที่ราบรื่นด้วย เครื่องมือจัดการข้อมูลเข้าสู่ระบบในแอปและเว็บไซต์คือการสร้าง การเชื่อมโยงที่ปลอดภัยระหว่างแอปและเว็บไซต์ ซึ่งทำได้โดยใช้ไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ซึ่งช่วยให้ผู้ให้บริการข้อมูลเข้าสู่ระบบแชร์ข้อมูลเข้าสู่ระบบระหว่างแอป และเว็บไซต์ของคุณได้อย่างปลอดภัย ตัวอย่างเช่น เว็บไซต์สามารถประกาศว่าแชร์ข้อมูลเข้าสู่ระบบกับ แอป Android หรือเว็บไซต์อื่นได้โดยใช้ไฟล์ Digital Asset Links การใช้ Digital Asset Links ช่วยให้ผู้ใช้ได้รับประสบการณ์การลงชื่อเข้าใช้ที่ราบรื่นและใช้ ข้อมูลเข้าสู่ระบบที่บันทึกไว้เดียวกันในแอปและเว็บไซต์ที่เชื่อมโยง
กําหนดค่าลิงก์เนื้อหาดิจิทัลระหว่างแอปกับเว็บไซต์
หากต้องการอนุญาตให้ผู้ให้บริการข้อมูลเข้าสู่ระบบใช้พาสคีย์และรหัสผ่านร่วมกันในแอปและเว็บไซต์ ให้สร้างไฟล์ลิงก์เนื้อหาดิจิทัลสำหรับแอปโดยทำตามขั้นตอนต่อไปนี้
1. สร้างไฟล์ JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links)
สร้างไฟล์ชื่อ assetlinks.json โดยมีโครงสร้างดังนี้
[
{
"relation" : [
"<array_of_permissions_granted_to_app>"
],
"target" : {
"namespace" : "android_app",
"package_name" : "<android_application_package_name>",
"sha256_cert_fingerprints" : [
"<sha256_certificate_fingerprint_of_signing_key>"
]
}
}
]
relation: อาร์เรย์ของสตริงอย่างน้อย 1 รายการที่อธิบาย ความสัมพันธ์ที่ประกาศ หากต้องการประกาศว่าแอปและเว็บไซต์ใช้ข้อมูลเข้าสู่ระบบเดียวกัน ให้ระบุความสัมพันธ์ต่อไปนี้ในอาร์เรย์delegate_permission/common.handle_all_urls: ความสัมพันธ์นี้ช่วยให้ใช้ Android App Link ซึ่งช่วยให้แอป Android จัดการ URL ทั้งหมดของเว็บสำหรับโดเมนที่เฉพาะเจาะจงได้delegate_permission/common.get_login_creds: ความสัมพันธ์นี้ช่วยให้แชร์ข้อมูลเข้าสู่ระบบระหว่างเว็บไซต์กับแอป Android ได้
target: ออบเจ็กต์ที่ระบุชิ้นงานที่การประกาศมีผลtarget.namespace: ตั้งค่าเป็นandroid_apptarget.package_name: ตั้งค่านี้เป็นชื่อแพ็กเกจที่ประกาศไว้ในไฟล์ Manifest ของแอป เช่นcom.example.android
sha256_cert_fingerprints: ลายนิ้วมือ SHA256 ของ ใบรับรองการลงนามของแอป หากต้องการดึงฟิงเกอร์ปรินต์ SHA256 สำหรับแอป ให้ดูประกาศการเชื่อมโยงเว็บไซต์
ตัวอย่างเป้าหมายสำหรับแอปมีดังนี้
[
{
"relation" : [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target" : {
"namespace" : "android_app",
"package_name" : "com.example.android",
"sha256_cert_fingerprints" : [
SHA_HEX_VALUE
]
}
}
]
2. โฮสต์ไฟล์ JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links)
โฮสต์ไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ในตำแหน่งต่อไปนี้ในโดเมนการลงชื่อเข้าใช้ ของเว็บไซต์
```none
https://domain[:optional_port]/.well-known/assetlinks.json
```
ตัวอย่างเช่น หากโดเมนการลงชื่อเข้าใช้คือ signin.example.com ให้โฮสต์ไฟล์ที่ https://signin.example.com/.well-known/assetlinks.json
ประเภท MIME สำหรับไฟล์ Digital Asset Links ต้องเป็น JSON ตรวจสอบว่า
เซิร์ฟเวอร์ส่งส่วนหัว Content-Type: application/json ในการตอบกลับ โดยตั้งค่าสถานะ HTTP เป็น 200
3. อนุญาตให้ดึงไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links)
อัปเดตโฮสต์เพื่ออนุญาตให้ Google ดึงไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Links)
เว็บไซต์ส่วนใหญ่จะอนุญาตให้ตัวแทนอัตโนมัติเรียกไฟล์ในเส้นทาง
/.well-known/ เพื่อให้บริการอื่นๆ เข้าถึงข้อมูลเมตาในไฟล์เหล่านั้นได้
หากคุณมีไฟล์ robots.txt ให้อนุญาต Web Crawler ให้ดึงข้อมูล
/.well-known/assetlinks.json โดยอัปเดต robots.txt ดังนี้
User-agent: *
Allow: /.well-known/
4. อัปเดตไฟล์ Manifest ของแอป
ในไฟล์ Manifest ของแอป ให้เพิ่มบรรทัดต่อไปนี้ภายใต้ <application>
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
5. กำหนดค่า Digital Asset Links สำหรับรหัสผ่าน
หากใช้เครื่องมือจัดการข้อมูลเข้าสู่ระบบสำหรับรหัสผ่าน คุณต้องทำตาม ขั้นตอนเพิ่มเติมเพื่อกำหนดค่าลิงก์ไปยังเนื้อหาดิจิทัล
เพิ่มออบเจ็กต์ที่ระบุไฟล์ assetlinks.json ที่จะโหลดในไฟล์ Manifest
คุณต้องหลีกเลี่ยงเครื่องหมายอัญประกาศเดี่ยวและเครื่องหมายคำพูดที่ใช้ในสตริง
ดังที่แสดงในตัวอย่างต่อไปนี้
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
}]
</string>
ลิงก์ https://signin.example.com/.well-known/assetlinks.json ต้องแสดงการตอบกลับ HTTP 200 และมีส่วนหัว Content-Type เป็น application/json
การยืนยันจะล้มเหลวหากการตอบกลับมีการเปลี่ยนเส้นทาง HTTP 301 หรือ 302 หรือ Content-Type ที่ไม่ใช่ JSON
ตัวอย่างต่อไปนี้แสดงคำขอตัวอย่างและส่วนหัวของการตอบกลับที่คาดไว้
> GET /.well-known/assetlinks.json HTTP/1.1
> User-Agent: curl/7.35.0
> Host: signin.example.com
< HTTP/1.1 200 OK
< Content-Type: application/json
ขั้นตอนถัดไป
หลังจากเพิ่มการอ้างอิงที่จำเป็นและกำหนดค่า Digital Asset Links สำหรับ พาสคีย์แล้ว คุณจะใช้เครื่องมือจัดการข้อมูลเข้าสู่ระบบเพื่อใช้ วิธีการตรวจสอบสิทธิ์ที่รองรับได้ ซึ่งได้แก่ พาสคีย์และลงชื่อเข้าใช้ด้วย Google ดูคู่มือนักพัฒนาซอฟต์แวร์ต่อไปนี้เพื่อเริ่มต้นใช้งาน
- ตั้งค่าพาสคีย์ด้วย Credential Manager: ดูวิธีใช้พาสคีย์ ซึ่งเป็นวิธีการที่ทันสมัยและป้องกันฟิชชิงเพื่อการตรวจสอบสิทธิ์ที่ปลอดภัยและเป็นมิตรกับผู้ใช้
- ตั้งค่าการลงชื่อเข้าใช้ด้วย Google ด้วยเครื่องมือจัดการข้อมูลเข้าสู่ระบบ: ผสานรวม "ลงชื่อเข้าใช้ด้วย Google" เพื่อให้ผู้ใช้ลงชื่อเข้าใช้ด้วยบัญชี Google ได้อย่างราบรื่น
- แก้ปัญหาข้อผิดพลาดที่พบบ่อยเกี่ยวกับเครื่องมือจัดการข้อมูลเข้าสู่ระบบ: ดูวิธี แก้ไขข้อผิดพลาดที่พบบ่อยเกี่ยวกับเครื่องมือจัดการข้อมูลเข้าสู่ระบบ
- ผสานรวมการตรวจสอบสิทธิ์ Firebase: อนุญาตให้ผู้ใช้ตรวจสอบสิทธิ์ด้วย Firebase โดยใช้บัญชี Google