Site icon บริษัท โค๊ดบี จำกัด

วิธีทำ Apple Login เข้าสู่ระบบด้วย Apple ID ( PHP ) บนเว็บไซต์

วิธีทำ-Apple-Login-เข้าสู่ระบบด้วย-Apple-ID-PHP-บนเว็บไซต์

วิธีทำ-Apple-Login-เข้าสู่ระบบด้วย-Apple-ID-PHP-บนเว็บไซต์

Apple Login คือการเข้าสู่ระบบหรือสมัครสมาชิกแบบ SSO ( Single Sign On ) ความหมายคือการใช้ข้อมูลเดียวกันกับแพลตฟอร์มใด แพลตฟอร์มหนึ่งในการลงทะเบียนใช้งาน ในตัวอย่างนี้ก็คือการใช้ Apple ID ในการเข้าสู่ระบบหรือสมัครสมาชิกเข้าใช้งานซอฟต์แวร์อื่น

เราจะเริ่มเห็นตัวเลือกในการเข้าสู่ระบบ หรือสมัครสมาชิก บนเว็บไซต์ หรือ mobile application โดยใช้ Apple ID มากขึ้นเรื่อย เหตุผลก็เพราะว่า ทาง Apple ได้เพิ่มกฏเกณฑ์ในการนำ Application ขึ้นให้บริการที่ Apps Store ถ้าแอปนั้นมีการใช้ Third Party ในการเข้าสู่ระบบ เช่น Facebook, Twitter หรือ Google แอปนั้นจำเป็นต้องเพิ่มการเข้าใช้งานหรือสมัครสมาชิกด้วย Apple ID เข้าไปด้วย ยกเว้นแต่ว่าแอปนั้นเป็นการเข้าระบบหรือสมัครสมาชิกด้วย Custom Register ก็ไม่จำเป็นต้องเพิ่มการสมัครสมาชิกด้วย Apple ID

วิธีทำ Apple Login สำหรับ Website ( ตั้งค่าฝั่ง Apple )

ขั้นตอนที่ 1 Enable App ID

เลือกที่ Apps IDs เพื่อสร้าง Primary App IDs ก่อน
เลือก Type เป็น App
กรอก Description และ Bundle ID Explicit ตัวอย่างเช่น com.domain.appname ติ๊กที่ Sign In with Apple และกด Edit
เลือกที่ Enable as a primary App ID กด Save และ กด Continue

ขั้นตอนที่ 2 Create Service ID for Web Authentication

วิธีตรวจสอบว่าเว็บไซต์เรารองรับ TLS 1.2 หรือป่าว ให้ไปที่ ตรวจสอบ TLS พิมพ์ url เข้าไปและดูที่ส่วน Server Configuration

ขั้นตอนที่ 3 Create Key

สร้าง Keys ให้ไปที่ Certificates, Identifiers & Profiles เลือก Keys กดปุ่มเครื่องหมายบวก + ตั้งชื่อ keys จากนั้นติ๊กที่ Sign in with Apple กด Configure และเลือก Primary App IDs ที่เคยสร้างไว้ในขั้นตอนแรก กด save -> continue และ download ตามลำดับ เป็นอันเสร็จสิ้นขั้นตอนที่ 3 Create Key

ขั้นตอนที่ 4 Register Email Sources for Communication

วิธีทำ Apple Login สำหรับ Website ( ตั้งค่าฝั่ง Website )

ตัวอย่างปุ่ม Sign in with Apple








AppleID.auth.init({
  clientId : 'com.domain.weblogin',
  scope : 'name email',
  redirectURI: 'https://www.domain.com/apple_login',
  state : '',
});
public function apple_login(){
    $post = $this->input->post();
    $user = json_decode($post['user']);
    $firstName = $user->name->firstName;
    $lastName = $user->name->lastName;
    $id_token = $post['id_token'];
}

เราจะได้ชื่อ และ นามสกุลมาเพียงแต่ใช้ json_decode นะครับ แต่สำหรับอีเมล เราจะต้อง JWT Decode ตัวแปร id_token อีกที ( ลักษณะเดียวกันกับ line login )

ตัวอย่างการทำงาน Sign in with Apple

หลังกดปุ่ม ‘Sign in with Apple’ จะให้กรอก Apple ID กับ Password และทำ Two-factor Authentication เพื่อเข้าสู่ระบบ
หลังจากทำ Two-factor Authentication แล้วจะแจ้งรายละเอียดระดับการเข้าถึงข้อมูลประมาณนี้
จากนั้นก็จะแสดงข้อมูลที่ Website สามารถเข้าถึงได้ และเราจะอนุญาติข้อมูลส่วนไหนบ้าง

หลังกดปุ่ม ‘continue‘ ระบบ apple api จะพาเราไปที่หน้า redirectURI พร้อมข้อมูลแบบ post ไม่ว่าจะเข้าสู่ระบบสำเร็จหรือไม่สำเร็จ เราสามารถจัดการข้อมูลได้จากตรงนี้

Exit mobile version