SingleSignOn VerifyToken
این وبسرویس برای اعتبارسنجی 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
Tokenstring
required
Token دریافتشده از سپهر در مرحله قبل از طریق
callbackUrl.این Token پس از احراز هویت موفق کاربر در سیستم سپهر ایجاد شده و به آدرس Callback سایت شما ارسال میشود.
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
isVerifiedboolean
مشخص میکند که Token ارسالشده معتبر است یا خیر.
true— Token معتبر است و میتوانید Session مربوط به کاربر را در سیستم خود ایجاد کنید.false— Token معتبر نیست و نباید کاربر را احراز هویتشده در نظر بگیرید.
verificationErrorstring
در صورتی که Token معتبر نباشد، دلیل عدم اعتبار Token در این فیلد برگردانده میشود.
در صورت معتبر بودن Token، مقدار این فیلد
nullخواهد بود.userTypestring enum
نوع کاربری که Token متعلق به آن است.
مقادیر قابل قبول:
مقدار توضیحات B2MToken مربوط به یک کاربر دفتر مرکزی سپهر است. B2BToken مربوط به یک کاربر از آژانسهای زیرمجموعه است. AirportToken مربوط به یکی از کارکنان فرودگاه است. SupportToken مربوط به یکی از کاربران سیستم پشتیبانی است. HotelReceptionToken مربوط به یکی از کارکنان پذیرش هتل است. userIdinteger
شناسه منحصربهفرد کاربر در سیستم سپهر.
usernamestring
نام کاربری که Token به آن تعلق دارد.
b2B_Usercomplex type | null
در صورتی که Token مربوط به یک کاربر با نوع
B2Bباشد، اطلاعات تکمیلی آژانس مربوط به کاربر در این فیلد قرار میگیرد.در صورتی که کاربر از نوع
B2Bنباشد، مقدار این فیلدnullخواهد بود.agencyIdinteger
شناسه منحصربهفرد آژانس زیرمجموعهای که کاربر متعلق به آن است.
agencyNamestring
نام آژانس زیرمجموعهای که کاربر متعلق به آن است.
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
خلاصه فرآیند
- کاربر از طریق
CreateTokenبه صفحه ورود سپهر هدایت میشود. - کاربر در سپهر احراز هویت میشود.
- سپهر یک
Tokenایجاد میکند. - کاربر به
callbackUrlسایت شما بازگردانده میشود. - Token از طریق
POSTبهcallbackUrlارسال میشود. - سایت شما Token را دریافت میکند.
- سایت شما
VerifyTokenرا فراخوانی میکند. - در صورت
isVerified = true، اطلاعات کاربر معتبر است. - میتوانید Session مربوط به کاربر را در سیستم خود ایجاد کنید.
- در صورت
isVerified = false، نباید کاربر را احراز هویتشده در نظر بگیرید و میتوانید دلیل خطا را ازverificationErrorدریافت کنید.