bSIMS
  • b-SIMS
  • Getting Started
    • Register
      • Agen
      • Non Agen
    • Login
  • Integrasi Data External System
  • Modul Perusahaan
    • Pengajuan Aktivasi Akun Baru (Agen)
    • Validasi Akun Perusahaan (role BUP)
  • Modul Jasa Kepelabuhanan
    • Flow Jasa Kepelabuhanan Online
      • Appendix : Flow Rencana
      • Appendix : Flow Realisasi
    • Jasa Kepelabuhanan
      • Request Rencana
      • Upload Dokumen
      • Action / Submit Dokumen
      • Tambah Jasa Baru
        • Sewa Chasis
        • Pengisian Air
        • Ringkasan
    • Dokumen Kepelabuhanan
    • Pengajuan Kedatangan Kapal
    • Mitra KSO Pandu Tunda
      • Data Akses
      • Realisasi
  • Modul New Jasa Pelabuhan
    • Pencarian Data
    • List Form
    • Nota Jasa
      • Labuh Tambat
        • Related Docs
        • My Files
      • Bongkar Muat
        • Related Docs
        • My Files
        • Implementasi Tarif Bongkar Muat Paket Non CHC
      • Pandu Tunda
        • Related Docs
        • My Files
  • Modul Operasional Barang
    • Modul Dashboard MOB
      • Landing Page Dashboard B-SIMS
      • Pergerakan Keluar Masuk Peti Kemas
      • Statistik Pendapatan Tagihan Penumpukan
      • Transaksi Terakhir Operasional Barang, PLP, dan TPFT
      • Statistik Status Transaksi PLP dan TPFT
      • Statistik SP2 dan DO
    • Auto Gate System v1.0
    • Auto Gate System v2.0
      • Barang Keluar Pelabuhan
        • Muat Kapal
        • Keluar Pelabuhan
      • Barang Masuk Pelabuhan
        • Dari Bongkaran Kapal
        • Dari Luar Pelabuhan
    • Register Barang Masuk
      • Register Barang Masuk via Excel
      • Register Barang Masuk via Dokumen Pabean
    • Register Barang Keluar
      • Register Barang Keluar via Dokumen Pabean
    • Assign Data
    • Daftar Operasional
      • Viewing
      • Validasi
      • Trucking
      • Set Container Yard
      • SP2
      • DO
    • Denah Kontainer
    • Pindah Lokasi Penimbunan (PLP)
      • List Pengajuan PLP
      • Pengajuan PLP
    • Penagihan / Billings
      • Penagihan Transaksi Detil
      • Billing Invoice
    • Roles
      • Shipping Line Agent
      • Operator Depo BUP
      • Perusahaan Bongkar Muat
      • Perusahaan Trucking
      • Ekspedisi / EMKL
  • Modul Marine Traffic
    • Marine Traffic - Dashboard
    • Marine Traffic - Daftar Kapal
  • Modul Berthing
    • Master Dermaga
    • Dashboard
    • List Booking
    • List Berthing
  • Modul Terminal Khusus
    • Daftar Monitoring
    • Registrasi Data Monitoring
    • Tersus Report
  • Notifikasi
  • Logout & Profile
  • SSO
  • Version History
  • FAQ
    • FAQ : Modul Operasional Barang & AGS
    • FAQ : INAPORT - BSIMS
      • Modul PKK
      • Modul SPK PANDU
Powered by GitBook
On this page

SSO

Login Menggunakan B-Sims dari aplikasi pihak ketiga / Client App.

Sebelum lanjut menggunakan SSO B-Sims, Aplikasi Client diharapkan menginformasikan data-data dibawah untuk kebutuhan integrasi :

Nama
Tipe
Keterangan

client_name

required

Nama Aplikasi Client.

redirect_url

required

URL Redirect yang akan digunakan ketika user berhasil login. URL ini akan berisi token parameter yang akan di consume untuk mendapatakan data user login.

description

optional

Deskripsi dari Aplikasi Client

policy_url

optional

URL untuk info yang terkait kebijakan privasi yang di sediakan oleh aplikasi client.

service_url

optional

URL untuk info yang terkait persyaratan layanan yang di sediakan oleh aplikasi client.

logo_url

optional

URL menampilkan logo dari aplikasi client. Logo aplikasi client akan muncul di halaman SSO Login.

Langkah-langkah Mengakses SSO B-Sims

1. Mendapatkan CLIENT_ID

Sebelum memulai, aplikasi client harus mendapatkan CLIENT_ID yang valid. CLIENT_ID ini akan diberikan oleh penyedia layanan SSO dalam hal ini PDSI BP Batam dengan bersurat ke BUP BP Batam saat aplikasi client didaftarkan.

2. Login

Setelah mendapatkan CLIENT_ID , aplikasi client dapat mengakses URL login SSO dengan menambahkan CLIENT_ID ke akhir URL. Contoh:

let APP_ID = 'your_client_id'; // ganti dengan CLIENT_ID Anda
let loginUrl = `https://b-sims.bpbatam.go.id/sso/access/login/${CLIENT_ID }`;
window.location.href = loginUrl; // mengarahkan user ke halaman login SSO
<?php
$APP_ID = 'your_app_id'; // ganti dengan APP_ID Anda
$loginUrl = "https://b-sims.bpbatam.go.id/sso/access/login/" . $APP_ID;
header("Location: " . $loginUrl); // mengarahkan user ke halaman login SSO
exit();
?>

Harap ganti 'your_client_id' dengan CLIENT_ID Anda. Kode ini akan mengarahkan user ke halaman login SSO. Pastikan untuk menempatkan kode ini di tempat yang tepat dalam aplikasi Anda (Tidak Menggunakan API).

3. Mendapatkan Data User Login

Setelah user berhasil login, mereka akan diarahkan kembali ke aplikasi client dengan jwt_token di URL.

Contoh Redirect URL: https://yourapp.com?token=JWT_TOKEN.

Aplikasi client dapat menggunakan jwt_token ini untuk mengakses data user login melalui URL https://b-sims.bpbatam.go.id/sso/access/success , dengan menambahkan Authorization Bearer pada header Request. Contoh :

let jwt_token = 'your_jwt_token'; // ganti dengan jwt_token Anda
let userDataUrl = 'https://b-sims.bpbatam.go.id/sso/access/success';

fetch(userDataUrl, {
  headers: {
    'Authorization': `Bearer ${jwt_token}`
  }
})
.then(response => response.json())
.then(data => console.log(data)); // data user login
<?php
$jwt_token = 'your_jwt_token'; // ganti dengan jwt_token Anda
$userDataUrl = 'https://b-sims.bpbatam.go.id/sso/access/success';

$ch = curl_init($userDataUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $jwt_token
]);

$response = curl_exec($ch);

if ($response !== FALSE) {
    $data = json_decode($response);
    print_r($data); // data user login
}

curl_close($ch);
?>

Harap ganti 'your_jwt_token' dengan jwt_token Anda. Kode ini akan mengambil data user login dari SSO menggunakan REST API SSO B-sims.

Contoh Response :

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Response

{
    "status_code": 200,
    "status": "success",
    "message": "success",
    "data": {
        "name": "xxxx",
        "username": "xxxxx",
        "email": "xxxxxx@gmail.com",
        "nik": "323123412313123",
        "company": {
            "comp_cd": "xxxx",
            "comp_nm": "XXXXX, PT",
            "comp_npwp": "xx.xxx.xxx.x-xxx.xxx",
            "comp_type": "Perusahaan Pelayaran Nasional (PELNAS)"
        }
    }
}

4. Logout

Untuk logout, aplikasi client dapat mengakses URL https://b-sims.bpbatam.go.id/sso/access/logout dengan jwt_token sebagai authorization bearer. Contoh:

let logoutUrl = 'https://b-sims.bpbatam.go.id/sso/access/logout';

fetch(logoutUrl, {
  headers: {
    'Authorization': `Bearer ${jwt_token}`
  }
})
.then(response => console.log('Logged out')); // user telah logout
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://b-sims.bpbatam.go.id/sso/access/logout',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_HTTPHEADER => array(
    'Accept: application/json',
    'Content-Type: application/json',
    'Authorization: Bearer xxxx,
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Jika menggunakan REST API pada saat logout, pastikan user di redirect ke halaman logout/base dari B-Sims atau Aplikasi Client.


Contoh Akses Menggunakan REST API.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Response

{
    "status_code": 200,
    "status": "success",
    "message": "Logout Success.",
    "data": null
}

Closure

Harap dicatat bahwa ini adalah contoh dasar dan mungkin perlu disesuaikan sesuai dengan kebutuhan dan lingkungan aplikasi client. Selalu pastikan untuk menangani kesalahan dan pengecualian (contoh: menambahkan Try Catch Block) yang mungkin terjadi selama proses ini.

PreviousLogout & ProfileNextVersion History

Last updated 1 month ago

Halaman Login SSO bSIMS