ShareAI Platform Docs

Otorisasi pelanggan dengan PKCE

Implementasikan alur authorization-code ShareAI dengan S256 PKCE, verifikasi state, dan tukarkan kode di backend aplikasi Anda.

Lihat sebagai Markdown
Di halaman ini

Alur ini menghubungkan satu akun pelanggan ke aplikasi Anda. Pelanggan masuk, memilih akun pribadi atau organisasi, dan menyetujui izin yang diminta. Backend Anda kemudian menukarkan kode sementara dengan token.

Sebelum Anda memulai#

Selesai pendaftaran aplikasi. Anda memerlukan callback yang terdaftar secara tepat, kredensial klien yang disimpan di server, dan sesi sisi server untuk browser yang menyelesaikan otorisasi.

1. Buat permintaan otorisasi#

GET https://auth.shareai.now/oauth/authorize

Minta pelanggan untuk mengotorisasi aplikasi.

URL Dasar
https://auth.shareai.now
Otentikasi
Pengalihan browser; aplikasi yang terdaftar

Hasilkan verifier, state, dan nonce baru untuk setiap percobaan. Simpan di sesi sisi server pengguna yang memulai. Kirim tantangan SHA-256, bukan verifier, dalam pengalihan browser. Minta hanya scope yang dibutuhkan aplikasi Anda.

Python

import base64
import hashlib
import secrets
import urllib.parse

verifier = secrets.token_urlsafe(48)
challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest()).rstrip(b"=").decode()
state = secrets.token_urlsafe(32)
nonce = secrets.token_urlsafe(32)
# Store verifier, state and nonce in the user's server-side session.
params = {
    "response_type": "code",
    "client_id": "YOUR_CLIENT_ID",
    "redirect_uri": "https://app.example.com/auth/shareai/callback",
    "scope": "openid profile surcharge",
    "state": state,
    "nonce": nonce,
    "code_challenge": challenge,
    "code_challenge_method": "S256",
}
print("https://auth.shareai.now/oauth/authorize?" + urllib.parse.urlencode(params))

2. Validasi callback#

Jika otorisasi ditolak, tangani kesalahan OAuth sebagai pembatalan normal. Jika tidak, bandingkan state dengan nilai yang disimpan sebelum menggunakan kode. Tolak state yang hilang atau tidak cocok. Gunakan state yang disimpan hanya sekali; jangan terima URL callback yang dikirimkan oleh sesi browser lain.

3. Tukarkan kode#

POST https://auth.shareai.now/oauth/token

Tukarkan kode satu kali pakai dan verifier PKCE yang cocok.

URL Dasar
https://auth.shareai.now
Otentikasi
Otentikasi klien rahasia

cURL

curl --fail-with-body "https://auth.shareai.now/oauth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "grant_type=authorization_code" \
  --data-urlencode "client_id=$SHAREAI_CLIENT_ID" \
  --data-urlencode "client_secret=$SHAREAI_CLIENT_SECRET" \
  --data-urlencode "code=$AUTHORIZATION_CODE" \
  --data-urlencode "redirect_uri=https://app.example.com/auth/shareai/callback" \
  --data-urlencode "code_verifier=$PKCE_VERIFIER"

Gunakan metode otentikasi klien yang dikonfigurasi untuk klien. Contoh ini menggunakan otentikasi klien berbasis formulir. Jangan kirim kode yang sama dua kali; mulai otorisasi lagi setelah kode digunakan atau kedaluwarsa.

4. Simpan hasil dan bangun sesi aplikasi Anda#

Simpan token akses dan refresh di backend Anda. Gunakan expires_in yang dikembalikan daripada mengasumsikan token permanen. Jika Anda menggunakan ID token, validasi tanda tangannya dengan JWKS penerbit, penerbit yang diharapkan, audiens klien, masa berlaku, dan nonce asli Anda sebelum mempercayai klaim.

Lanjutkan siklus hidup#

Refresh dan rotasi · Scope dan identitas akun · Permintaan chat OAuth

Terakhir diperbarui 15 September 2026

Dokumentasi Platform ShareAI
Semua dokumentasi

Cari berdasarkan judul atau konten.

Tanyakan tentang halaman ini

Pilih asisten untuk menjelajahi halaman ini. Anda juga dapat menyalin halaman dan menempelkannya ke dalam percakapan Anda.

Ask ChatGPTAsk ClaudeAsk GrokAsk ShareAI