sumber daya resource owner. Saat melakukan permintaan tersebut, client mengotentikasi dengan otorisasi server authorization server.
C Server otorisasi mengotentikasi client dan memvalidasi credential dari
pemilik sumber daya, dan jika berlaku, mendapatkan sebuah akses token.
2.8 Proses Roles Authentication
2.8.1 Web Server Application
Aplikasi web yang berjalan pada sisi server adalah jenis paling umum yang dikembangkan oleh pemilik aplikasi resource owner yang didukung penuh pada
OAuth Server. Aplikasi web pada bahasa pemrograman server-side seperti php, asp.net, jsp melakukan proses kerjanya pada sisi server yang tidak dipublikasikan
untuk umum[2]. Proses yang terjadi dan berlaku saat seorang pengunjung melakukan kegiatan otentikasi dengan meng-klik tombol ”Log In” adalah pengunjung akan
menerima rangkaian link pada alamat browser seperti pada gambar 2.9[11] :
Gambar 2.9 Proses Otentikasi Web Server Application
Beberapa parameter query yang terdapat pada rangkaian link alamat browser adalah sebagai berikut[4] :
1 client-id
Nilai yang diberikan saat mendaftarkan suatu aplikasi web yang dimiliki oleh Resource Owner.
2 redirect_uri
Lokasi kemana pengguna harus kembali setelah menyetujui akses untuk aplikasi.
Universitas Sumatera Utara
3 scope
Data aplikasi meminta akses menuju dan merujuk pada web developer penyedia OAuth. Jika berasal dari google api berarti merujuk ke halaman auth google api
contoh : https:www.googleapis.comauthtasks. 4
response_type Adalah kode server side web application flow yang mengindetifikasikan sebuah
kode otorisasi yang akan dikembalikan lagi ke aplikasi setelah user menerima dan menyetujui permintaan otorisasi.
Pada sisi halaman browser, pengunjung di terbitkan suatu halaman pemberian izin hibah, untuk disetujui oleh pengunjung agar dapat dilakukan otorisasi oleh OAuth
Server Authorization Server. Gambar 2.10 memperlihatkan permintaan persetujuan dari pengunjung[11].
Gambar 2.10 Proses Otentikasi Web Server Application - 2
Jika pengunjung melakukan proses tindakan ”Allow”, maka sistem yang bekerja akan mengarahkan kembali pada aplikasi web dengan sebuah Auth Code. Auth
Code untuk suatu aplikasi web memiliki kode unique dan berbeda, yang setiap aplikasi jika didaftarkan pada salah satu penerbit OAuth seperti Google akan
Universitas Sumatera Utara
mendapatkan auth code tertentu. Pada gambar 2.11 memperlihatkan sebuah halaman dengan auth code. Pada gambar 2.12 adalah auth code yang didapat saat didaftarkan
pada layanan OAuth yang tersedia pada Google API[4].
Gambar 2.11 Proses Otentikasi Web Server Application - 3
Gambar 2.12 Auth Code dari Google API
Authorization Server otorisasi server kemudian mengubah auth code untuk sebuah akses token, dan alamat pada browser akan terlihat seperti pada gambar
2.13[11]. di bawah ini :
Universitas Sumatera Utara
Gambar 2.13 Halaman Auth Code dari Google API
Keterangan[3] : 1.
client_id Nilai id yang diberikan saat mendaftarkan suatu aplikasi
2. client_secret
Kepercayaan yang bersifat rahasia diberikan saat mendaftar aplikasi 3.
grant_type Nilai suatu authorization_code, mengidentifikasikan penukaran sebuah kode
otorisasi pada suatu akses token. 4.
code Kode otorisasi yang dikirimkan ke aplikasi
5. redirect_uri
Lokasi yang telah terdaftar dan digunakan pada permintaan awal menuju otorisasi Kemudian otorisasi server menggantikannya dengan sebuah akses token
seperti yang terlihat pada gambar 2.14 Dan jika terdapat error pada akses token akan terlihat seperti pada gambar 2.15.
Gambar 2.14 Proses Otentikasi Web Server Application - 4
Universitas Sumatera Utara
Gambar 2.15 Proses Otentikasi Web Server Application - 5
Adapun beberapa kondisi error yang terjadi pada alamat url uniform resource locator dan ditampilkan pada halaman browser seperti[3] :
1. invalid_request
Adalah permintaan yang tidak valid, parameter mengalami kekurangan atau nilai parameter yang tidak sesuai atau tidak didukung.
2. unauthorized_client
Client tidak mempunyai kewenangan untuk meminta kode otorisasi menggunakan metode mendapatkan token.
3. unsupported_response_type
Otorisasi server tidak mendukung mendapatkan kode otorisasi menggunakan salah satu metode mendapatkan token.
4. invalid_scope
cakupan yang diminta tidak valid, tidak diketahui dan tidak sesuai cacat. 5.
server_error Otorisasi server mengalami masalah sehingga tidak dapat mencegah masalah dan
memenuhi permintaan penyesuaian token. 6.
temporarily_unavailable Keberadaan dan kondisi dariAuthorization Server otorisasi server yang tidak
dapat menangani permintaan karena overloading atau maintenance server.
2.8.2 Browser Based Application