Pengenalan OAuth2 Yang Merupakan Authorization Framework yang Dipakai oleh Google dan Facebook

davidasync
3 min readJan 28, 2018

--

Pengenalan OAuth2 Yang Merupakan Authorization Framework yang Dipakai oleh Google dan Facebook — Pada kesempatan kali ini penulis akan berbagi pengalaman tentang bagaimana cara menggunakan oAuth2 tanpa harus menampilkan interaksi user.

Cerita ini berawal pada saat penulis ingin menggunakan blogger api untuk melakukan scheduling auto-post ke blogger.com.

Alasan penulis menggunakan api untuk melakukan auto-post tersebut adalah karena konten blog yang penulis miliki berada di database mongodb (hasil scrape). Sehingga akan memakan waktu jika harus melakukan post satu per satu.

Namun, sebelum kita berbicara lebih jauh, kita harus mengetahui apa itu oAuth2.

OAuth2 merupakan sebuah framework untuk melakukan authorization yang memungkinkan aplikasi (web, mobile apps, atau yang lainnya) mendapatkan akses yang terbatas terhadap akun pengguna pada service http, seperti facebook dan google.

Contohnya, penulis membuat mobile apps berupa game. Game ini membutuhkan pengguna untuk melakukan login. Namun karena ribetnya membuat sistem login, penulis menggunakan sistem oAuth2 sehingga pengguna dapat melakukan login dengan menggunakan facebook / akun google.

Maka dari itu aplikasi game ini membutuhkan izin dari pengguna untuk mendapatkan beberapa informasi untuk login (pada umumnya pengguna hanya menekan next — next / allow).

OAuth2 bekerja dengan cara mendelegasikan user authorization ke dalam suatu service yang menyediakan akun pengguna (google, facebook), dan melakukan authorization kepada aplikasi 3rd party (contohnya aplikasi game yang penulis buat pada contoh di atas) untuk mendapatkan akses ke akun pengguna.

Oauth2 menyediakan alur / flow authorization untuk aplikasi web, aplikasi desktop, dan aplikasi mobile.

Yang dibutuhkan Untuk menjalankan OAuth2 Yang Merupakan Authorization Framework yang Dipakai oleh Google dan Facebook

Untuk menjalankan OAuth2, dibutuhkan 4 peran.

1 ) Resource owner: Pengguna

Resource owner adalah pengguna yang akan memberi authorization akunnya. Aplikasi akan mengakses akun pengguna tersebut dengan jangkauan yang terbatas tentunya. Contohnya aplikasi ingin mengetahui kontak / identitas / umur / dan lain lain.

Pada contoh sebelumnya, Resource owner adalah seorang pengguna yang ingin menggunakan aplikasi game tersebut.

2 ) Resource / Authorization Server: API

Resource server adalah server yang menyimpan akun pengguna. Authorization Server akan melakukan verifikasi dan mengidentifikasi pengguna dan akan membuatkan akses token untuk aplikasi.

Pada contoh sebelumnya, Resource / Authorization Server adalah google / facebook yang menyediakan akun facebook / google

3 ) Client / Application

Client adalah aplikasi yang menginginkan akses dari akun user. Sebelum melakukan hal tersebut tentunya pengguna harus memberi izin terlebih dahulu.

Pada contoh sebelumnya, client adalah aplikasi game tersebut

Alur Penggunaan OAuth2 Yang Merupakan Authorization Framework yang Dipakai oleh Google dan Facebook

  1. Aplikasi akan melakukan request authorization untuk mengakses service resource dari pengguna (pada saat ini pengguna akan ditampilkan prompt untuk melakukan login dan setelah login akan ditanya apakah pengguna mengizinkan untuk aplikasi melakukan akses atau tidak).
  2. Jika pengguna mengizinkan, maka aplikasi akan mendapatkan authorization grant dari service resource.
  3. Aplikasi akan melakukan request sebuah akses token dari Authorization Server dengan memberikan authentication dari aplikasi itu sendiri (berupa client id dan client secret) dan authorization grant yang tadi didapat dari langkah kedua.
  4. Jika identitas dari aplikasi tersebut sudah ter-authorize dan authorization grant valid. Authorization Server akan memberikan akses token kepada aplikasi. Dan proses authorization telah selesai.
  5. Jika akses token valid (akses token pada umumnya memiliki batas waktu untuk tetap valid, jika lewat dari batas waktu aplikasi harus merequest kembali untuk meminta akses token yang baru), maka resource server akan menyediakan data kepada aplikasi.

Kesimpulan Tentang Pengenalan OAuth2 Yang Merupakan Authorization Framework yang Dipakai oleh Google dan Facebook

Oauth2 merupakan Authorization Framework yang telah dipakai oleh banyak perusahaan besar dan sudah menjadi standart Authorization.

Jika anda pernah menggunakan api dari google tentu anda pernah berurusan dengan OAuth2.

Pada postingan berikutnya, penulis akan berbagi tentang cara menggunakan OAuth2 untuk memakai api dari google yaitu blogger.com. Tanpa harus mengeluarkan prompt dari google. Karena yang memakai resourcenya kita sendiri, jadi tidak ada gunanya mengeluarkan prompt.

Sekian artikel tentang Pengenalan OAuth2 Yang Merupakan Authorization Framework yang Dipakai oleh Google dan Facebook.

Jika anda memiliki informasi lain tentang OAuth2 yang menarik beritahu kami pada kolom komentar.

Jika anda menyukai artikel ini like, share, dan subscribe!

The question isn’t “What do we want to know about people?”. It’s “what do people want to tell about themselves ?”

~ Mark Zuckerberg ~

Referensi:

Originally published at nginy.net on January 28, 2018.

--

--

davidasync
davidasync

Written by davidasync

The Joy of discovery is one of the best things about being a software developer ~ Eric Elliott

No responses yet