Berikut beberapa jenis grant types:
- Authorization Code Grant
- Implicit Grant
- Client Credential Grant
- Resource Owner Password Credential Grant
Authorization Code Grant
Ada beberapa tahapan dalam proses Authorization Code Grant Type yaitu:
- Authorization Code
- Get the Token
- Use the Token to Access a Resource
Penjelasan
1. Authorization Code
Proses yang pertama ini melibatkan resource owner, client, dan OAuth Server.
Tujuan dari proses ini yaitu mendapatkan authorization code yang akan digunakan untuk mendapatkan access token.
Beberapa parameter yang dibawa ketika client request endpoint /authorize:
![]() |
Tirez Authorization Code Flow |
Beberapa parameter yang dibawa ketika client request endpoint /authorize:
2. Get the Token
Selanjutnya kita memerlukan Access Token untuk request suatu Resources. untuk mendapatkan access token, kita request satu endpoint yang bernama /token dengan method POST. Jenis Authorization yang digunakan request token yaitu HTTP Basic yang mana terdiri dari username dan password yang dipisahkan dengan titik dua (colon) dan di encode menggunakan base64.
- Response_type
- Client_id
- Scope
- State
- Redirect_uri,
2. Get the Token
Selanjutnya kita memerlukan Access Token untuk request suatu Resources. untuk mendapatkan access token, kita request satu endpoint yang bernama /token dengan method POST. Jenis Authorization yang digunakan request token yaitu HTTP Basic yang mana terdiri dari username dan password yang dipisahkan dengan titik dua (colon) dan di encode menggunakan base64.
![]() |
Tirez Authorization Code Flow |
Terdapat beberapa parameter yang dibawa yaitu:
3. Use the Token to Access a Resource
Tahap ini merupakan tahap dimana client mengakses Resources menggunakan token. Client akan mengakses data dengan request ke salah satu endpoint yang disediakan Resource Server sesuai dengan data yang dibutuhkan.
- access_token
- Bearer.
- refresh_token
- expires_in
3. Use the Token to Access a Resource
Tahap ini merupakan tahap dimana client mengakses Resources menggunakan token. Client akan mengakses data dengan request ke salah satu endpoint yang disediakan Resource Server sesuai dengan data yang dibutuhkan.
![]() |
Tirez Authorization Code Flow |
Authorization Code Grant: Refresh Token
Dalam waktu tertentu access token perlu di refresh. Dengan refresh token kita tidak perlu melakukan authorization kembali untuk mendapatkan access_token yang baru.
Dalam waktu tertentu access token perlu di refresh. Dengan refresh token kita tidak perlu melakukan authorization kembali untuk mendapatkan access_token yang baru.
![]() |
Tirez Refresh Token |
Untuk mendapatkan access token yang baru client perlu request endpoint /token dengan parameter grant_type diisi dengan refresh_token dan parameter refresh_token.
![]() |
Tirez Refresh Token |
Implicit Grant
Implicit Grant merupakan penyederhanaan dari Authorization Code Grant.
![]() |
Tirez Implicit Flow |
Setelah berhasil OAuth Server akan langsung memberikan access token, token type dan state,
![]() |
Tirez Implicit Flow |
Client Credentials Grant
Client Credentials ini hanya menggunakan endpoint /token, tidak menggunakan endpoint /auth, tidak memerlukan resource owner untuk meng otentikasi dirinya dan tidak ada refresh token.
Client Credentials Grant
![]() |
Tirez Client Credentials Grant |
Parameter yang dibawa yaitu grant type yang berisi client_credentials.
Jika berhasil maka OAuth Server akan merespon data seperti berikut:
![]() |
Tirez Client Credential Flow |
![]() |
Tirez Refresh Token |
Resource Owner Password
Credential Grant
Resource Owner Password Credential Grant
Jenis grant ini resource owner akan memasukan username dan password nya secara langsung ke client (Third Party Apps). Grant type ini biasanya digunakan jika aplikasi yang dibangun merupakan aplikasi pribadi atau pembuat aplikasi berasal dari perusahaan yang sama.
Alur
Jenis grant ini resource owner akan memasukan username dan password nya secara langsung ke client (Third Party Apps). Grant type ini biasanya digunakan jika aplikasi yang dibangun merupakan aplikasi pribadi atau pembuat aplikasi berasal dari perusahaan yang sama.
Alur
- Resource owner memasukan username dan password ke client (Third Party Apps).
- Client meminta access token ke OAuth Server menggunakan endpoint /token dengan memasukan credentials yang didapatkan dari resource owner.
- OAuth Server akan melakukan authentication dan validasi credentials resource owner, jika valid, maka akan menampilkan access token.