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
Label | Uraian |
---|---|
SSO Version | 1.0.5b |
Technology | Simple SSO Skeleton |
Request Types | Plain, URL-encoded, Form data |
Response Types | HTTP Headers, HTTP Redirect, JSON |
Flowchart
Persiapan
Buat Akun
...
Developer Console
...
API Endpoints
GET /oauth/authorize
...
GET /oauth/info
...
GET /oauth/user-list
...
GET /oauth/logout
...
SDK Clients
PHP Native
SSO-Samarinda Client for PHP Language.
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
...