Berikut contoh langkah-langkah untuk otentikasi dan otorisasi OAuth di sistem API pada Accurate Online, pastikan dahulu bahwa aplikasi sudah terdaftar. Sebagai contohnya, berikut adalah informasi aplikasi yang sudah terdaftar :

Nama Aplikasi

Demo Example

Platform

Website

URL Website

https://example.com

URL OAuth Callback

https://example.com/aol-oauth-callback

API Key

42f12a10-08df-4b91-b1e4-c4465d686072

OAuth Secret

e133410eb632596255adfbe5a49990fe

Signature Secret

268a1a7fbd0002ccf353d336982a11fe

 

Arahkan URL browser ke https://accurate.id/oauth/authorize dengan rincian sebagai berikut :

URLhttps://accurate.id/oauth/authorize
MethodHTML
Parameter 
client_id42f12a10-08df-4b91-b1e4-c4465d686072
response_typeToken
redirect_urihttps://example.com/aol-oauth-callback
scopeitem_view item_save sales_invoice_view

Web browser akan menampilkan Halaman Otorisasi, tekan tombol Beri Akses untuk melanjutkan.

Web browser kemudian akan diarahkan ke :
https://example.com/aol-oauth-callback#access_token=e8446369-bd56-4731-acea-c0a9e0cc46fa&token_type=bearer&user=%7Bname=John%20Doe,%20email=john@example.com%7D.

Pastikan aplikasi di halaman tersebut dapat membaca dan menyimpan akses token yang ada di alamat URL, yang pada contoh ini adalah e8446369-bd56-4731-acea-c0a9e0cc46fa.

Proses OAuth telah selesai dan sudah didapatkan akses token yang dapat digunakan untuk membaca database Accurate Online lewat API.

 

Alternatif menggunakan OAuth Grant Type Authorization Code

Pada contoh di atas proses OAuth digunakan dengan metode Grant Type Implicit. Sebagai alternatif, sistem API Accurate Online juga bisa menggunakan metode OAuth Grant Type Authorization Code.

Berikut adalah hal yang perlu diperhatikan jika menggunakna metode ini :

  • Metode ini hanya tersedia jika aplikasi didaftarkan dengan platform Website
  • Dengan metodie ini, aplikasi dapat melakukan refresh Akses Token, yaitu memperpanjang masa berlaku Akses Token yang sudah expired tanpa harus mengulang seluruh proses OAuth
  • Secara keamanan metode ini lebih aman karena Akses Token tidak diberikan lewat web browser namun menggunakan HTTP POST yang dikomunikasikan langsung antara server aplikasi dengan server Accurate Online
  • Metode ini akan menggunakan OAuth Secret yang didapatkan saat pendaftaran aplikasi di https://accurate.id/developer. Untuk mencegah OAuth Secret dari aplikasi terbaca oleh pihak lain, pastikan aplikasi hanya dapat diakses oleh pihak yang berhak dan terinstall pada perangkat yang terjamin keamanannya.

Berikut adalah langkah-langkah dengan menggunakan metode Grant Type Authorization Code :

Arahkan URL browser ke https://accurate.id/oauth/authorize dengan rincian sebagai berikut

URLhttps://accurate.id/oauth/authorize
MethodHTML
Parameter 
client_id42f12a10-08df-4b91-b1e4-c4465d686072
response_typeToken
redirect_urihttps://example.com/aol-oauth-callback
scopeitem_view item_save sales_invoice_view

Web browser akan menampilkan Halaman Otorisasi, tekan tombol Beri Akses untuk melanjutkan.

Web browser kemudian akan diarahkan ke :
https://example.com/aol-oauth-callback?code=2S8F64jJTOJi1vuCxG8G.

Pastikan aplikasi di halaman tersebut dapat membaca dan menyimpan akses token yang ada di alamat URL, yang pada contoh ini adalah 2S8F64jJTOJi1vuCxG8G.

Selanjutnya lakukan HTTP POST ke https://accurate.id/oauth/token dengan rincian sebagai berikut

 

URLhttps://accurate.id/oauth/authorize
MethodHTML POST
Header 
AuthorizationBasic NDJmMTJhMTAtMDhkZi00YjkxLWIxZTQtYzQ0NjVkNjg2MDcyOmUxMzM0MTBlYjYzMjU5NjI1NWFkZmJlNWE0OTk5MGZl
Request Body 
code2S8F64jJTOJi1vuCxG8G
grant_typeauthorization_code
redirect_urihttps://example.com/aol-oauth-callback

Nilai NDJmMTJhMTAtMDhkZi00YjkxLWIxZTQtYzQ0NjVkNjg2MDcyOmUxMzM0MTBlYjYzMjU5NjI1NWFkZmJlNWE0OTk5MGZl adalah hasil Base64 Encode dari 42f12a10-08df-4b91-b1e4-c4465d686072:e133410eb6 32596255adfbe5a49990fe.

Metode menambahkan informasi Authorization di Header seperti ini adalah metode HTTP Basic Authentication dengan API Key sebagai user dan OAuth Secret sebagai password.

Hasil dari HTTP POST ini adalah sebagai berikut :

{

  “access_token”: “a83278c3-6018-4374-9f12-4c5b6a09ab16”,

  “token_type”: “bearer”,

  “refresh_token”: “5f32ef57-a3ba-4c6d-a763-c83c67350c73”,

  “scope”: “item_view item_save sales_invoice_view”,

  “user”: {

    “name”: “John Doe”,

    “email”: “john@example.com”

   }

}

Sampai tahap ini proses OAuth telah selesai dan sudah didapatkan Akses Token a83278c3-6018-4374- 9f12-4c5b6a09ab16 yang dapat digunakan untuk membaca database Accurate Online lewat API.