ashvia/sdk

Official PHP SDK for the ASHVIA Ecosystem.

Maintainers

Package info

github.com/alvipan/via-sdk

pkg:composer/ashvia/sdk

Transparency log

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.2 2026-07-06 12:38 UTC

This package is auto-updated.

Last update: 2026-07-06 12:39:13 UTC


README

Official PHP SDK for the ASHVIA ecosystem.

Instalasi

composer require ashvia/sdk

Jika sedang mengerjakan dari repositori lokal, jalankan:

composer install

Konfigurasi

Konfigurasi dapat dilakukan dengan builder atau langsung membuat objek Config.

Menggunakan builder

use Ashvia\Sdk\Ashvia;

$sdk = Ashvia::builder()
    ->baseUrl('https://passport.example.test')
    ->clientId('client-id')
    ->clientSecret('client-secret')
    ->redirectUri('https://app.example.test/callback')
    ->build();

Menggunakan Config

use Ashvia\Sdk\Ashvia;
use Ashvia\Sdk\Config\Config;

$config = new Config(
    baseUrl: 'https://passport.example.test',
    clientId: 'client-id',
    clientSecret: 'client-secret',
    redirectUri: 'https://app.example.com/callback',
);

$sdk = new Ashvia(config: $config);

Login OAuth

1. Mendapatkan URL otorisasi

Gunakan method authorizationUrl() pada resource auth() untuk mengarahkan pengguna ke halaman login.

$authUrl = $sdk->auth()->authorizationUrl('state-123');

echo $authUrl;

2. Menukar authorization code dengan access token

Setelah pengguna kembali ke aplikasi dengan code, panggil token().

$accessToken = $sdk->auth()->token('authorization-code');

echo $accessToken->accessToken();

3. Refresh token

Untuk memperbarui token akses:

$newToken = $sdk->auth()->refresh('refresh-token');

Contoh penggunaan

use Ashvia\Sdk\Ashvia;

$sdk = Ashvia::builder()
    ->baseUrl('https://passport.example.test')
    ->clientId('client-id')
    ->clientSecret('client-secret')
    ->redirectUri('https://app.example.test/callback')
    ->build();

// Dapatkan URL otorisasi
$authorizationUrl = $sdk->auth()->authorizationUrl('request-state');

// Setelah mendapatkan authorization code:
$token = $sdk->auth()->token('authorization-code');

// Ambil data user
$user = $sdk->user()->current($token->accessToken());

if ($response->successful()) {
    $user = $response->json();
    print_r($user);
}

License

This library is released under the MIT License.