ShareAI Platform Docs

یک مشتری را با PKCE تأیید کنید

جریان کد مجوز ShareAI را با S256 PKCE پیاده‌سازی کنید، وضعیت را تأیید کنید و کد را در بک‌اند برنامه خود مبادله کنید.

مشاهده به‌صورت Markdown
در این صفحه

این جریان یک حساب مشتری را به برنامه شما متصل می‌کند. مشتری وارد می‌شود، یک حساب شخصی یا سازمانی را انتخاب می‌کند و مجوزهای درخواست‌شده را تأیید می‌کند. سپس بک‌اند شما کد کوتاه‌مدت را با توکن‌ها مبادله می‌کند.

قبل از شروع#

کامل ثبت برنامه. شما به یک بازگشت ثبت‌شده دقیق، اعتبارنامه‌های مشتری نگهداری‌شده در سرور و یک جلسه سمت سرور برای مرورگر تکمیل‌کننده مجوز نیاز دارید.

1. درخواست مجوز را ایجاد کنید#

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

از مشتری بخواهید برنامه را مجاز کند.

URL پایه
https://auth.shareai.now
احراز هویت
بازگشت مرورگر؛ برنامه ثبت‌شده

برای هر تلاش یک تأییدکننده جدید، وضعیت و nonce ایجاد کنید. آنها را در جلسه سمت سرور کاربر آغازگر ذخیره کنید. چالش SHA-256 را ارسال کنید، هرگز تأییدکننده را در بازگشت مرورگر ارسال نکنید. فقط محدوده‌هایی را درخواست کنید که برنامه شما نیاز دارد.

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 را به عنوان یک لغو عادی مدیریت کنید. در غیر این صورت، مقدار بازگشتی را با مقدار ذخیره‌شده قبل از استفاده از کد مقایسه کنید. یک وضعیت گم‌شده یا ناسازگار را رد کنید. وضعیت ذخیره‌شده را یک بار مصرف کنید؛ URL‌های بازگشت ارسال‌شده توسط جلسه مرورگر دیگر را قبول نکنید. state یک کد یک‌بار مصرف و تأییدکننده PKCE مطابقت‌دار را مبادله کنید.

3. کد را مبادله کنید#

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

احراز هویت مشتری محرمانه.

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. نتیجه را ذخیره کنید و جلسه برنامه خود را برقرار کنید#

به جای فرض یک توکن دائمی. اگر از یک توکن ID استفاده می‌کنید، امضای آن را با JWKS صادرکننده، صادرکننده مورد انتظار، مخاطب مشتری، انقضا و nonce اصلی خود اعتبارسنجی کنید قبل از اعتماد به ادعاها. expires_in دو استفاده از یک توکن.

چرخه عمر را ادامه دهید#

محدوده‌ها و هویت حساب · درخواست‌های چت OAuth · لینک به قبل از شروع

آخرین به‌روزرسانی سپتامبر 15, 2026

مستندات پلتفرم ShareAI
تمام مستندات

جستجو بر اساس عنوان یا محتوا.

درباره این صفحه بپرسید

یک دستیار برای کاوش این صفحه انتخاب کنید. همچنین می‌توانید صفحه را کپی کرده و در مکالمه خود جای‌گذاری کنید.

Ask ChatGPTAsk ClaudeAsk GrokAsk ShareAI