Alur otorisasi OAuth 2.0 Twitter, yang dikenal sebagai "Kode Otorisasi dengan PKCE (Proof Key for Code Exchange)," adalah proses penting untuk mengintegrasikan login Twitter (sekarang diubah menjadi X) ke dalam situs web pihak ketiga.
Untuk mempelajari dan mendapatkan manfaat dari semua keuntungan yang diberikan oleh Apidog, klik tombol di bawah ini!
Artikel ini memberikan panduan komprehensif tentang cara menerapkan proses ini dan men-debug-nya menggunakan Apidog. Mulailah dengan konsep dasar OAuth 2.0.

Apa itu OAuth 2.0?
OAuth 2.0 adalah protokol otorisasi standar terbuka yang memungkinkan aplikasi pihak ketiga untuk mengakses sumber daya yang dilindungi tanpa memberikan nama pengguna dan kata sandi pengguna. Ini memungkinkan pengguna untuk mengotorisasi aplikasi pihak ketiga untuk mengakses sumber daya mereka yang dilindungi tanpa mengungkapkan kredensial mereka secara langsung. OAuth 2.0 banyak digunakan dalam aplikasi web dan seluler untuk menyediakan mekanisme otorisasi yang aman.
Protokol OAuth 2.0 melibatkan peran-peran berikut:
- Pemilik Sumber Daya: Biasanya pengguna, yang memiliki sumber daya yang dilindungi, seperti foto, profil pribadi, dll.
- Klien: Aplikasi pihak ketiga yang ingin mengakses sumber daya yang dilindungi milik pemilik sumber daya.
- Server Otorisasi: Server yang bertanggung jawab untuk mengautentikasi pemilik sumber daya dan mengotorisasi klien untuk mengakses sumber daya.
- Server Sumber Daya: Server yang menyimpan sumber daya yang dilindungi dan menyediakan API untuk mengaksesnya.

Alur Otorisasi Umum
Protokol OAuth 2.0 mengimplementasikan otorisasi melalui berbagai alur otorisasi. Alur otorisasi umum meliputi:
- Authorization Code Grant: Klien mengarahkan pengguna ke server otorisasi. Setelah pengguna masuk dan memberikan izin, server otorisasi mengembalikan kode otorisasi ke klien. Klien kemudian menukar kode otorisasi bersama dengan kredensialnya untuk mendapatkan token akses.
- Authorization Code Grant with PKCE (Proof Key for Code Exchange): Mirip dengan alur kode otorisasi standar, tetapi klien meningkatkan keamanan dengan menggunakan PKCE (Proof Key for Code Exchange).
- Resource Owner Password Credentials Grant: Pemilik sumber daya secara langsung memberikan nama pengguna dan kata sandi mereka kepada klien. Klien kemudian menggunakan kredensial ini untuk meminta token akses dari server otorisasi.
- Client Credentials Grant: Klien secara langsung meminta token akses dari server otorisasi menggunakan kredensialnya sendiri. Alur ini cocok untuk kasus di mana klien itu sendiri membutuhkan akses ke sumber daya.
- Implicit Grant: Digunakan untuk mendapatkan token akses langsung dari klien dalam aplikasi berbasis browser. Alur ini biasanya digunakan untuk aplikasi frontend web.
Cara Login ke Situs Web Pihak Ketiga Menggunakan Twitter OAuth
Langkah 1: Dapatkan Client ID dan Client Secret
Pertama, navigasikan ke Pusat Pengembang Twitter dan buat atau akses akun Anda. Lanjutkan untuk membuat aplikasi jika belum ada yang dibuat secara otomatis.

Di bawah pengaturan aplikasi, temukan bagian "Pengaturan autentikasi pengguna" dan klik "Edit" untuk mengonfigurasi izin yang disesuaikan dengan kebutuhan bisnis Anda.

Selanjutnya, atur URL panggilan balik (Redirect URI) dan berikan URL situs web. Simpan pengaturan untuk menghasilkan Client ID dan Client Secret. Pastikan untuk menyalin dan menyimpan kredensial ini dengan aman.

Setelah mengisi konfigurasi di atas, klik "Simpan" untuk menyimpannya. Pada saat ini, ID klien (Client ID) dan rahasia klien (Client Secret) akan dihasilkan. Ingatlah untuk menyalinnya dan menyimpannya.
Jika Anda melupakannya, Anda perlu mengatur ulang. Hasilkan, klik "Kunci dan token" di aplikasi, dan gulir ke bawah halaman untuk melihatnya.


Langkah 2: Dapatkan Token Akses
Dengan prasyarat yang telah disiapkan, lanjutkan untuk mendapatkan token akses. Manfaatkan Apidog, alat debugging dan manajemen API yang kuat, untuk demonstrasi ini.

- Buat permintaan HTTP di dalam Apidog dan pilih opsi OAuth 2.0 di bawah "Ubah Dokumen -> Auth -> OAuth 2.0."

2. Pilih mode otorisasi PKCE karena Twitter OAuth 2.0 menggunakan Kode Otorisasi dengan PKCE.

3. Konfigurasikan Client ID, Client Secret, dan Redirect URL yang diperoleh dari Twitter OAuth 2.0.

Atur URL permintaan kode otorisasi ke https://twitter.com/i/oauth2/authorize.

Konfigurasikan parameter tambahan seperti Scope, Code Challenge Method, dan State jika perlu.
Tentukan URL permintaan token akses sebagai https://api.twitter.com/2/oauth2/token.
Klik "Dapatkan Token" untuk memulai proses pengambilan token. Autentikasi dengan kredensial Twitter Anda jika diminta.

Catatan:

Langkah 3: Akses Sumber Daya Terbuka Menggunakan Token
Setelah Anda mendapatkan token akses, Anda dapat menggunakannya untuk mengakses sumber daya terbuka Twitter. Apidog secara otomatis melampirkan token ke bidang Otorisasi header permintaan sebagai token Bearer. Atau, Anda dapat mengonfigurasi penempatan token dalam parameter kueri URL.

Kesimpulan
Mengintegrasikan layanan Twitter OAuth 2.0 untuk login situs web pihak ketiga melibatkan tiga langkah utama: membuat aplikasi di dasbor Pengembang Twitter, membangun halaman login, dan mengakses sumber daya terbuka dengan token akses yang diperoleh.
OAuth 2.0 adalah protokol otorisasi yang kuat, dengan Twitter menggunakan alur Kode Otorisasi dengan PKCE. Alat seperti Apidog memperlancar proses autentikasi OAuth 2.0, memfasilitasi pengambilan token dan akses sumber daya.