ShareAI Platform Docs

PKCE کے ساتھ کسٹمر کو مجاز بنائیں

ShareAI authorization-code فلو کو S256 PKCE کے ساتھ نافذ کریں، state کی تصدیق کریں اور کوڈ کو اپنی ایپلیکیشن کے بیک اینڈ پر ایکسچینج کریں۔

Markdown کے طور پر دیکھیں
اس صفحے پر

یہ فلو ایک کسٹمر اکاؤنٹ کو آپ کی ایپلیکیشن سے جوڑتا ہے۔ کسٹمر سائن ان کرتا ہے، ذاتی یا تنظیمی اکاؤنٹ کا انتخاب کرتا ہے اور مطلوبہ اجازتوں کی منظوری دیتا ہے۔ آپ کا بیک اینڈ پھر مختصر مدت کے کوڈ کو ٹوکنز کے لیے ایکسچینج کرتا ہے۔

شروع کرنے سے پہلے#

مکمل ایپلیکیشن رجسٹریشن۔ آپ کو ایک درست رجسٹرڈ کال بیک، سرور پر محفوظ کلائنٹ کی اسناد اور براؤزر کے لیے ایک سرور سائیڈ سیشن کی ضرورت ہے جو اجازت مکمل کر رہا ہو۔

1. اجازت کی درخواست بنائیں#

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

کسٹمر سے ایپلیکیشن کو اجازت دینے کے لیے کہیں۔

بیس URL
https://auth.shareai.now
تصدیق
براؤزر ری ڈائریکٹ؛ رجسٹرڈ ایپلیکیشن

ہر کوشش کے لیے ایک نیا verifier، state اور nonce تیار کریں۔ انہیں شروع کرنے والے یوزر کے سرور سائیڈ سیشن میں محفوظ کریں۔ SHA-256 چیلنج بھیجیں، کبھی verifier نہیں، براؤزر ری ڈائریکٹ میں۔ صرف وہی scopes درخواست کریں جو آپ کی ایپلیکیشن کو درکار ہیں۔

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. کال بیک کی تصدیق کریں#

اگر اجازت مسترد کر دی جائے تو OAuth کی خرابی کو ایک عام منسوخی کے طور پر ہینڈل کریں۔ بصورت دیگر، واپس آنے والے state کو محفوظ کردہ ویلیو کے ساتھ موازنہ کریں اس سے پہلے کہ کوڈ استعمال کریں۔ کسی غائب یا غیر مطابقت پذیر state کو مسترد کریں۔ محفوظ کردہ state کو ایک بار استعمال کریں؛ کسی دوسرے براؤزر سیشن کے ذریعے جمع کرائے گئے کال بیک URLs کو قبول نہ کریں۔

3. کوڈ ایکسچینج کریں#

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

ایک بار استعمال ہونے والے کوڈ اور مماثل PKCE verifier کو ایکسچینج کریں۔

بیس URL
https://auth.shareai.now
تصدیق
خفیہ کلائنٹ کی تصدیق

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"

کلائنٹ کے لیے ترتیب دی گئی کلائنٹ تصدیق کے طریقہ کار کا استعمال کریں۔ مثال فارم پر مبنی کلائنٹ تصدیق کا استعمال کرتی ہے۔ ایک ہی کوڈ کو دو بار نہ بھیجیں؛ استعمال شدہ یا ختم شدہ کوڈ کے بعد دوبارہ اجازت شروع کریں۔

4. نتیجہ محفوظ کریں اور اپنی ایپ سیشن قائم کریں#

اپنے بیک اینڈ میں ایکسیس اور ریفریش ٹوکنز کو محفوظ کریں۔ واپس آنے والے expires_in کا استعمال کریں بجائے اس کے کہ مستقل ٹوکن فرض کریں۔ اگر آپ ID ٹوکن استعمال کرتے ہیں، تو اس کے دعووں پر بھروسہ کرنے سے پہلے اس کے دستخط کو issuer کے JWKS، متوقع issuer، کلائنٹ آڈینس، میعاد ختم ہونے اور آپ کے اصل nonce کے ساتھ تصدیق کریں۔

لائف سائیکل جاری رکھیں#

ریفریش اور روٹیشن · Scopes اور اکاؤنٹ کی شناخت · OAuth چیٹ درخواستیں

آخری بار اپ ڈیٹ کیا گیا ستمبر 15, 2026

ShareAI پلیٹ فارم دستاویزات
تمام دستاویزات

عنوان یا مواد کے ذریعے تلاش کریں۔

اس صفحے کے بارے میں پوچھیں

اس صفحے کو دریافت کرنے کے لیے ایک معاون منتخب کریں۔ آپ صفحہ کو کاپی کر کے اپنی گفتگو میں چسپاں بھی کر سکتے ہیں۔

Ask ChatGPTAsk ClaudeAsk GrokAsk ShareAI