Web Server Application Proses Roles Authentication

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