SingleSignOn VerifyToken

Download Markdown for LLM

این وب‌سرویس برای اعتبارسنجی Token دریافت‌شده از فرآیند Single Sign-On (SSO) استفاده می‌شود.

پس از اینکه کاربر با موفقیت در سیستم سپهر وارد شد و Token به callbackUrl سایت شما ارسال شد، باید این وب‌سرویس را فراخوانی کنید تا مشخص شود آیا Token دریافت‌شده معتبر است یا خیر.

در صورت معتبر بودن Token، اطلاعات کاربر نیز در پاسخ این وب‌سرویس در اختیار شما قرار می‌گیرد.

Important: توصیه می‌شود پس از دریافت و اعتبارسنجی موفق Token، Session مربوط به کاربر را در سیستم خود ایجاد کنید و در درخواست‌های بعدی، به جای Token اولیه SSO از Session داخلی خود استفاده کنید.


API Endpoint

POST https://{SupplierWebsiteUrl}/api/IAM/Bot/SingleSignOn/VerifyToken/V1

Request Parameters


Sample Request

curl -X POST https://SepehrApiTest.ir/api/IAM/Bot/SingleSignOn/VerifyToken/V1 \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Accept: application/json" \
  -H "Accept-Encoding: gzip, deflate" \
  -d '{
  "Token": "1tyGPflYdMFQSrwmgwBFLevxrmsehYhqnlTIVER2"
}'

Response Data

Sample Response

{
  "isVerified": true,
  "verificationError": null,
  "userType": "B2M",
  "userId": 1966,
  "username": "usertest",
  "b2B_User": null
}

Authentication Flow

این وب‌سرویس معمولاً در مرحله دوم فرآیند Single Sign-On استفاده می‌شود:

User
 │
 │ Login
 ▼
Sepehr SSO
 │
 │ Generate Token
 ▼
Your callbackUrl
 │
 │ POST { Token }
 ▼
Your Website
 │
 │ VerifyToken
 ▼
Sepehr API
 │
 ├── isVerified = true
 │       │
 │       ▼
 │   Create User Session
 │
 └── isVerified = false
         │
         ▼
     Reject Authentication

خلاصه فرآیند

  1. کاربر از طریق CreateToken به صفحه ورود سپهر هدایت می‌شود.
  2. کاربر در سپهر احراز هویت می‌شود.
  3. سپهر یک Token ایجاد می‌کند.
  4. کاربر به callbackUrl سایت شما بازگردانده می‌شود.
  5. Token از طریق POST به callbackUrl ارسال می‌شود.
  6. سایت شما Token را دریافت می‌کند.
  7. سایت شما VerifyToken را فراخوانی می‌کند.
  8. در صورت isVerified = true، اطلاعات کاربر معتبر است.
  9. می‌توانید Session مربوط به کاربر را در سیستم خود ایجاد کنید.
  10. در صورت isVerified = false، نباید کاربر را احراز هویت‌شده در نظر بگیرید و می‌توانید دلیل خطا را از verificationError دریافت کنید.