Pengantar

Halaman ini berisi petunjuk integrasi aplikasi Anda dengan SSO Samarinda. Baca dengan detail setiap langkah sehingga tidak ada yang terlewat. Informasi lebih lanjut mengenai hal ini dapat ditanyakan ke pengembang di
Dinas Komunikasi dan Informatika Kota Samarinda, Bidang Aplikasi dan Layanan E-Government.

SSO Samarinda, dirancang khusus untuk memudahkan para pengembang dalam melakukan integrasi. Sebelum mengikuti petunjuk di halaman ini, pastikan Anda telah melakukan registrasi pada layanan SSO ini dan telah melakukan login, selanjutnya mendaftarkan aplikasi yang ingin diintegrasikan serta memanfaatkan pengguna yang telah terdaftar yang dimiliki oleh SSO Dinas Komunikasi dan Informatika Kota Samarinda.

Beberapa hal yang perlu dipahami developer mengenai SSO, sehingga tidak menimbulkan kesalahpahaman:

  • SSO utamanya hanya meng-handle login dan logout, walaupun secara opsional juga dapat dilakukan untuk melakukan pengecekan apakah user masih login atau tidak.
  • SSO bukanlah single session, masing-masing aplikasi tetap menyimpan session setelah proses login berhasil.
  • SSO dapat diimplimentasikan pada aplikasi sebagai opsional login, sehingga tidak perlu menghilangkan login yang sudah ada.
  • SSO tidak menyebabkan hak akses tidak terkontrol, karena proses pengecekan hak akses tetap bisa dilakukan di sisi aplikasi setelah proses login SSO.
  • SSO dapat diintegrasikan pada aplikasi existing tanpa melakukan banyak perubahan code.

Spesifikasi


LabelUraian
SSO Version1.0.5b
TechnologySimple SSO Skeleton
Request TypesPlain, URL-encoded, Form data
Response TypesHTTP Headers, HTTP Redirect, JSON

Flowchart


End of Pengantar

Persiapan

Buat Akun

...

Developer Console

...

End of Persiapan

API Endpoints

GET /oauth/authorize

...

GET /oauth/info

...

GET /oauth/user-list

...

GET /oauth/logout

...

End of API Endpoints

SDK Clients

PHP Native

SSO-Samarinda Client for PHP Language.

Install

                                
                                    composer require novay/sso-php
                                
                            

Contoh Penggunaan

Untuk Login
                                
                                    <?php

// Autoloader Composer
require_once __DIR__ . '/vendor/autoload.php';

// Untuk Login
$properti = [
    'url' => 'https://sso.samarindakota.go.id', 
    'name' => 'XXX', 
    'secret' => 'XXX'
];

// Login Script
$broker = new \Novay\SsoPhp\Services\Broker($properti);
echo $broker->getLogin();
                                
                            
Untuk Logout
                                
                                    <?php
// Autoloader Composer
require_once __DIR__ . '/vendor/autoload.php';

// Untuk Login
$properti = [
    'url' => 'https://sso.samarindakota.go.id', 
    'name' => 'XXX', 
    'secret' => 'XXX'
];

// Login Script
$broker = new \Novay\SsoPhp\Services\Broker($properti);
echo $broker->logout();
                                
                            
Untuk Get User Information
                                
                                    <?php 

require __DIR__ . '/vendor/autoload.php';

$properti = [
    'url' => 'https://sso.samarindakota.go.id', 
    'name' => 'XXX', 
    'secret' => 'XXX'
];

$broker = new \Novay\SsoPhp\Services\Broker($properti);
$user = $broker->getUser($_GET['code'], $_GET['uid'], $_GET['pwd']);

echo $user['id'];
echo $user['photo'];
echo $user['name'];
echo $user['email'];
echo $user['phone'];
echo $user['address'];
echo $user['gender'];
echo $user['date_birth'];
echo $user['number_id'];
echo $user['type_id'];
echo $user['level'];

// Silahkan lakukan penyimpanan session atau pembagian hak akses mandiri kedalam aplikasi client
// ...
                                
                            

Laravel (PHP)

Android

...

End of SDK Clients