1 poin oleh GN⁺ 2024-12-13 | 1 komentar | Bagikan ke WhatsApp
  • Surat untuk penyedia OAuth

    • GitHub

      • Endpoint token mengembalikan kode status 200 bahkan saat terjadi kesalahan
      • Respons kesalahan seharusnya menggunakan kode status 400 atau 401
    • Facebook

      • Endpoint token mengembalikan respons kesalahan kustom
      • Seharusnya berupa objek JSON dengan field error
    • TikTok

      • Server menggunakan parameter client_key alih-alih client_id
      • Tidak ada alasan untuk menyimpang dari spesifikasi
    • Strava

      • Server menggunakan daftar yang dipisahkan koma untuk parameter scope
      • Seharusnya berupa daftar yang dipisahkan spasi
    • Naver

      • Server mengembalikan waktu kedaluwarsa token sebagai string
      • Ini masalah yang melampaui sekadar kepatuhan terhadap spesifikasi
    • Berbagai penyedia OAuth

      • Harus mendukung autentikasi dasar HTTP alih-alih parameter client_secret untuk autentikasi klien
      • Dalam standar OAuth 2.1, autentikasi dasar HTTP bersifat opsional, tetapi meskipun PKCE diwajibkan, sebagian besar penyedia tetap tidak menggunakannya
    • AWS

      • Pernah menerima beberapa laporan bug saat digunakan bersama library klien OAuth, tetapi karena masalahnya tidak dapat direproduksi, bagian terkait dihapus

1 komentar

 
rikko 2024-12-13

Saat membangun proyek layanan publik pemerintah, saya pernah punya pengalaman menghabiskan waktu sebulan penuh hanya untuk mengimplementasikan fitur OAuth (OIDC)...

Karena tidak bisa menggunakan library eksternal, saya harus mengimplementasikan semuanya satu per satu, dan selain Kakao atau Google, tidak ada yang benar-benar mematuhi standar OAuth...

Naver ya begitu, levelnya seperti asal login bisa maka tidak masalah, sampai-sampai saya ragu apakah pantas dipakai, dan Apple bahkan sampai sekarang pun saya tidak ingat bagaimana dulu saya mengimplementasikannya karena butuh kode implementasi lebih dari 3 kali lipat dibanding sumber OAuth yang sudah ada.

Seperti di teks utama di atas, ada juga kasus kode responsnya berantakan, dan bahkan ada penyedia yang sampai membalas dengan 418 (I'm a teapot).
Karena pengalaman-pengalaman seperti ini, saya jadi tidak memakai fitur seperti social login meskipun sebenarnya lebih praktis...