OAuth adalah spesifikasi untuk otorisasi
OAuth 2.0 adalah spesifikasi untuk otorisasi, tetapi BUKAN untuk otentikasi. RFC 6749, 3.1. Otorisasi Endpoint secara eksplisit mengatakan sebagai berikut:
Titik akhir otorisasi digunakan untuk berinteraksi dengan pemilik sumber daya dan mendapatkan hibah otorisasi. Server otorisasi HARUS terlebih dahulu memverifikasi identitas pemilik sumber daya. Cara di mana server otorisasi mengotentikasi pemilik sumber daya (misalnya, nama pengguna dan kata sandi login, cookie sesi) berada di luar cakupan spesifikasi ini .
Otentikasi OAuth?
Otentikasi menangani informasi tentang "siapa seseorang". Otorisasi menangani informasi tentang "siapa yang memberikan izin apa kepada siapa". Alur otorisasi berisi otentikasi sebagai langkah pertamanya. Itu sebabnya orang sering bingung.
Ada banyak pustaka dan layanan yang menggunakan OAuth 2.0 untuk autentikasi. Ini sering disebut "login sosial" dan itu membuat orang lebih bingung. Jika Anda melihat "otentikasi OAuth" (bukan "otorisasi OAuth"), itu adalah solusi yang menggunakan OAuth untuk otentikasi.
OpenID Connect
OpenID 1.0 dan OpenID 2.0 adalah spesifikasi lama untuk otentikasi. Mereka yang membuat spesifikasi mengharapkan orang menggunakan OpenID untuk otentikasi. Namun, beberapa orang mulai menggunakan OAuth 2.0 untuk autentikasi (bukan untuk otorisasi) dan autentikasi OAuth menjadi populer dengan cepat.
Dari sudut pandang orang-orang OpenID, autentikasi berdasarkan OAuth tidak cukup aman, tetapi mereka harus mengakui bahwa orang lebih suka autentikasi OAuth. Akibatnya, orang-orang OpenID memutuskan untuk menentukan spesifikasi baru, OpenID Connect , di atas OAuth 2.0.
Ya, ini membuat orang semakin bingung.
Definisi satu kalimat dari OAuth 2.0 dan OpenID Connect
OAuth 2.0 adalah kerangka kerja tempat pengguna layanan dapat mengizinkan aplikasi pihak ketiga untuk mengakses datanya yang dihosting di layanan tanpa mengungkapkan kredensial (ID & sandi) ke aplikasi tersebut.
OpenID Connect adalah kerangka kerja di atas OAuth 2.0 tempat aplikasi pihak ketiga bisa mendapatkan informasi identitas pengguna yang dikelola oleh layanan.
(Maaf, definisi ini adalah kutipan dari halaman ikhtisar perusahaan saya)
Definisi dari sudut pandang pelaksana
Otentikasi adalah proses untuk menentukan subjek (= pengidentifikasi unik) dari pengguna akhir. Ada banyak cara untuk menentukan subjeknya. ID & kata sandi, sidik jari, pengenalan iris, dll.
Otorisasi adalah proses untuk mengasosiasikan subjek dengan izin yang diminta dan aplikasi klien yang meminta izin. Token akses mewakili asosiasi.
Lihat juga
- Implementor Full-Scratch OAuth dan OpenID Connect Talks About Findings
- Diagram dan Film Semua Aliran OAuth 2.0
- Diagram dari Semua Aliran OpenID Connect
- Panduan Paling Sederhana Untuk OAuth 2.0