- 9 spesifikasi OpenID Connect telah diterbitkan sebagai standar ISO/IEC, sehingga Core 1.0, Discovery, Dynamic Client Registration, spesifikasi logout, hingga mode respons OAuth 2.0 kini masuk ke dalam kerangka standar internasional
- OpenID Foundation mengajukannya ke ISO pada Desember 2023 melalui skema PAS(Publicly Available Specifications), lalu menyelesaikan proses hingga penerbitan setelah pemungutan suara persetujuan ISO
- Dengan standardisasi ISO, penerapan OpenID Connect dapat menjadi lebih mudah juga di yurisdiksi yang mewajibkan spesifikasi dari lembaga standardisasi yang diakui berdasarkan perjanjian internasional
- Sebelum pengajuan, OpenID Connect working group menjalankan prosedur penerapan errata corrections agar perbaikan yang telah diketahui masuk ke versi ISO
- Berdasarkan pengalaman dari proses PAS kali ini, OpenID Foundation berencana mengajukan FAPI 1.0, serta keluarga spesifikasi eKYC-IDA dan FAPI 2.0 setelah finalisasi, sebagai target penerbitan ISO
Spesifikasi yang diterbitkan sebagai standar ISO/IEC
- Ada 9 spesifikasi terkait OpenID Connect yang kali ini diterbitkan sebagai standar ISO/IEC
- ISO/IEC 26131:2024 — Information technology — OpenID connect — OpenID connect core 1.0 incorporating errata set 2
- ISO/IEC 26132:2024 — Information technology — OpenID connect — OpenID connect discovery 1.0 incorporating errata set 2
- ISO/IEC 26133:2024 — Information technology — OpenID connect — OpenID connect dynamic client registration 1.0 incorporating errata set 2
- ISO/IEC 26134:2024 — Information technology — OpenID connect — OpenID connect RP-initiated logout 1.0
- ISO/IEC 26135:2024 — Information technology — OpenID connect — OpenID connect session management 1.0
- ISO/IEC 26136:2024 — Information technology — OpenID connect — OpenID connect front-channel logout 1.0
- ISO/IEC 26137:2024 — Information technology — OpenID connect — OpenID connect back-channel logout 1.0 incorporating errata set 1
- ISO/IEC 26138:2024 — Information technology — OpenID connect — OAuth 2.0 multiple response type encoding practices
- ISO/IEC 26139:2024 — Information technology — OpenID connect — OAuth 2.0 form post response mode
Pengajuan PAS dan persetujuan ISO
- Pengajuan spesifikasi OpenID Connect untuk OpenID Foundation dilakukan pada Desember 2023 dalam bentuk PAS(Publicly Available Specifications)
- Setelah pemungutan suara persetujuan ISO, spesifikasi tersebut diterbitkan sebagai standar ISO/IEC
- Karena ISO adalah salah satu lembaga standardisasi yang diakui berdasarkan perjanjian internasional, peluang adopsi OpenID Connect dapat meningkat di yurisdiksi yang secara hukum mewajibkan penggunaan standar dari lembaga semacam itu
Perbaikan yang masuk ke versi ISO
- Sebelum pengajuan, OpenID Connect working group menjalankan prosedur penerapan errata corrections pada spesifikasi
- Hasilnya, versi ISO telah mencerminkan perbaikan yang sebelumnya diketahui
1 komentar
Pendapat Hacker News
Sekitar 17 tahun lalu saya cukup terlibat mendalam dengan OpenID (https://simonwillison.net/search/?tag=openid&year=2007), tetapi butuh waktu yang memalukan lamanya bagi saya untuk memahami bahwa OpenID Connect hampir tidak ada hubungannya dengan ide OpenID asli, yaitu “identifier adalah URL dan membuktikan kepemilikan atas URL tersebut”
OpenID Connect pada dasarnya lebih dekat ke evolusi OAuth
OpenID Connect menurut saya bukan evolusi OAuth, melainkan lebih dekat ke evolusi OpenID dari sisi visi dan semangat. Seperti OpenID, OIDC berfokus pada identifikasi dan autentikasi pengguna, tetapi tidak seperti OpenID, ia tidak membuat ulang alur autentikasi yang sepenuhnya baru; OIDC mencapai tujuan utamanya dengan menambahkan alur autentikasi di atas spesifikasi OAuth yang sudah sering disalahgunakan untuk autentikasi
Karena itu, bahkan sistem yang tidak menargetkan kepatuhan OIDC pun sering mengikuti OIDC sebagian. Jika sebagian standar OIDC sudah menyediakan apa yang dibutuhkan, tidak ada alasan untuk menciptakan ulang roda
OpenID Connect adalah ekstensi yang menambahkan lapisan autentikasi ke OAuth2 (RFC 6749), sedangkan OAuth2 adalah framework otorisasi untuk memberikan izin
Sebaliknya, OAuth 1.0/1.0a dan OpenID 1/2 hanyalah protokol yang namanya mirip tetapi tidak saling terkait dan tidak kompatibel, sehingga per 2024 sebagian besar sudah tidak relevan. Hati-hati saat mencari
Ini bukan hal baik dari sisi mana pun. Pertama, standar berbayar yang harus dibayar untuk dibaca itu benar-benar buruk
Kedua, saya berharap lebih banyak upaya dicurahkan untuk merancang standar dan implementasi yang, saat dibutuhkan, tidak berubah menjadi penyedot waktu tanpa akhir
Namun saya tidak begitu tahu apa keunggulan mendapatkan nomor standar ISO dibanding menaruh dokumen HTML di internet
Standar itu bagus, tetapi organisasi standardisasi besar seperti ISO menyebalkan karena meminta bayaran untuk melihat standar
Mungkin karena beberapa perusahaan atau industri menuntut standar “sungguhan” dari organisasi seperti itu, bukan sesuatu yang dibuat oleh IETF atau kelompok hippie open-source yang kotor
Jadi jika OpenID Connect diterbitkan dengan nomor ISO, adopsinya menjadi lebih mudah untuk beberapa proyek. Tentu saja OpenID Connect sendiri tetap bisa dibaca dan digunakan secara gratis, tetapi bagi orang-orang dalam situasi seperti di atas, ini memberi opsi yang lebih mudah
ISO adalah sampah yang tidak bebas dan tidak membantu ekosistem perangkat lunak
Lihat ISO 8601: terlalu rumit, sering tidak diimplementasikan dengan benar karena maintainer menggunakan draf gratis, dan sebenarnya tidak menyelesaikan apa pun dengan baik. Misalnya, ia tidak bisa merepresentasikan waktu jam dinding, sehingga bermasalah untuk tanggal di masa depan ketika zona waktu bisa berubah
Dulu saya juga pernah menangani mp4, dan mengetahui bahwa ada perubahan di stack Apple, sehingga ISO saja tidak cukup
Kritik biasanya mengarah ke asumsi seperti perubahan daylight saving time. Kritik yang umum misalnya, “Saya ingin menentukan pukul 14:00 waktu lokal Absurdistan empat tahun lagi, apa pun hubungannya dengan UTC, tetapi tidak bisa.” Namun jika asumsi itu didorong sedikit lebih jauh, Absurdistan bisa saja menambah wilayah luar negeri, bergabung dengan aliansi, atau mengubah zona waktu dan daylight saving time
Jika dipikirkan, definisi waktu lokal itu sendiri bisa berubah, jadi mustahil menentukan waktu lokal di masa depan kecuali semua kemungkinan perubahan didefinisikan tanpa terlewat. Pada akhirnya, kita harus menetapkan jumlah tick jam atom di masa depan (TAI) lalu menafsirkannya sebagai waktu lokal pada saat digunakan, atau menetapkan suatu waktu tetap lalu menafsirkannya sebagai waktu lokal pada saat digunakan
Saya juga penasaran apakah JS Temporal API yang baru menangani ini. Sepertinya ia masuk cukup dalam
Standar berbayar untuk dibaca seperti ISO secara aktif menghambat kemajuan umat manusia. Saya berharap praktik seperti ini tidak didorong
Saya memahami bahwa draf final dan standar resmi hampir sama dari sisi substansi. Draf standar OIDC juga sepertinya tersedia di suatu tempat
Aneh rasanya mengatakan bahwa para engineer itu menghasilkan kemajuan bagi umat manusia sekaligus secara aktif merusak kemajuan umat manusia
Provisioning identitas adalah monster yang seharusnya tidak pernah diciptakan
Pada pertengahan 2000-an saya begitu menyukainya sampai menjalankan server OpenID sendiri, tetapi saat itu saya tidak menyadari betapa cacatnya seluruh konsep ini secara mendasar
Identitas adalah atribut yang melekat pada individu dan tidak dapat dialihkan, bukan sesuatu yang bisa “disediakan” oleh individu lain, perusahaan/situs web, pemerintah, dan sebagainya. Mereka hanya bisa membuktikannya dengan menyediakan kredensial, seperti menerbitkan paspor
Setidaknya WebAuthn memahami bagian ini dengan benar
Sebagian identitas mungkin digunakan di cukup banyak tempat sehingga bagi sebagian pihak akan sulit menyangkal bahwa itu milik saya, tetapi bahkan dalam kasus itu pun, hanya sebagian kecil dari pihak yang pernah melihat identitas tersebut yang bisa membuktikan bahwa itu adalah saya
Apakah masih ada issuer OIDC independen di luar Google, MS, dan Apple yang memungkinkan kita membuat akun?
Beberapa waktu lalu saya ingin membuat akun Tailscale tanpa memakai akun GitHub, tetapi tidak bisa
Dulu sepertinya openid.net dan Ubuntu One menyediakan layanan seperti ini, tetapi setahu saya sudah dihentikan
Namun biaya keamanan dan dukungan yang dibutuhkan untuk layanan seperti ini besar, sehingga terutama jika diberikan gratis, itu kurang realistis bagi organisasi kecil. Skala ekonomi yang memungkinkan hal seperti ini sangat besar, dan ini sangat cocok ketika perusahaan-perusahaan besar membayar untuk produk enterprise
OpenID Connect adalah protokol yang cukup sederhana. Setelah membaca spesifikasinya (https://openid.net/specs/openid-connect-core-1_0.html), saya bisa memahami sebagian besarnya dalam sekitar satu hari
Untuk orang yang tidak ingin membaca spesifikasinya, saya juga menulis tutorial komprehensif tentang mengimplementasikan klien OpenID dengan request HTTP sederhana (https://spapas.github.io/2023/11/29/openid-connect-tutorial/)
Contohnya memakai Python, tetapi semestinya tidak sulit mengimplementasikannya dalam bahasa apa pun yang Anda inginkan. Sebagian besar bagian rumitnya ada pada decoding dan pemeriksaan token JWT
Klien yang saya tulis manual ini sudah saya gunakan sekitar satu tahun di proyek produksi nyata untuk autentikasi Keycloak, dan semuanya berjalan sempurna
P.S.: Saya tahu situs saya punya terlalu banyak iklan. Sayangnya saya belum sempat mengatur Google Ads dengan benar dan belum menemukan alternatif yang lebih baik. Pakai pemblokir iklan saja saat membacanya
Namun sebaiknya berhati-hati dengan ungkapan subjektif seperti sederhana. Jika pembaca merasa ini sulit sementara penulis mengatakan sederhana, itu bisa cukup membuat mereka minder
Meski begitu, saya masih belum yakin OIDC itu mudah. Keycloak menyembunyikan kompleksitas yang luar biasa, dan para developer tidak membuatnya seperti itu karena iseng. Misalnya, ada sangat banyak pengaturan timeout yang beragam, seperti timeout SSO, timeout klien, berbagai timeout token, dan lain-lain
Monetisasi dan operasional organisasi di sekitar standar ISO secara keseluruhan terasa sangat mencurigakan
Sebagai trik yang kurang dikenal, Anda bisa mencari versi standar yang lebih murah di situs Estonia yang baik hati, https://evs.ee. Mereka sering membuat versi mereka sendiri yang isinya hampir sama dengan aslinya. Sayangnya, untuk kasus kali ini tampaknya mereka hanya menyediakan standar sebenarnya dengan harga yang mirip https://www.evs.ee/en/search?OnlySuggestedProducts=false&que...
Ada baiknya memantau situs itu untuk melihat apakah nanti muncul versi buatan mereka sendiri dengan harga lebih baik. Biasanya harganya sekitar 10% dari versi asli. Ini satu lagi data point bahwa Estonia melakukan hal-hal keren
Karena bekerja di bidang kepatuhan regulasi perangkat medis, saya cukup sering berurusan dengan organisasi standardisasi yang lumayan mencurigakan https://openregulatory.com/accessing-standards/
Saya sudah mendengar argumen umum seperti “standardisasi butuh biaya” dan “organisasi-organisasi ini melakukan hal baik”, tetapi saya sama sekali tidak setuju. Jika sesuatu adalah standar, menurut saya posisinya menjadi mirip hukum. Orang-orang harus bisa mengikutinya, dan agar itu mungkin, aksesnya harus bebas. Advokat Jenderal UE tampaknya juga setuju https://openregulatory.com/maybe-eu-standards-are-becoming-f...
Ada banyak standardisasi yang tidak perlu menjual PDF secara mencurigakan demi uang. ECMAScript dan ANSI C terlintas di pikiran, dan masih banyak lagi
Jika dijadikan publikasi ISO, bagi departemen pengadaan itu menjadi tameng untuk menghindari tanggung jawab
Bagaimanapun, belum pernah ada orang yang dipecat karena meminta kepatuhan terhadap satu bundel standar ISO