دسته «OAuth و توکن» فینوتک ۵ سرویس برای صدور و تمدید توکن دسترسی دارد: توکن Client Credential، تمدید توکن، و جریان سهمرحلهای توکن پیامکی. بدون توکن معتبر، فراخوانی بقیه APIهای فینوتک ممکن نیست.
درباره دسته OAuth و توکن
این دسته دو مسیر جدا برای گرفتن دسترسی میسازد. مسیر نخست سمت سرور است: گرفتن توکن Client Credential فینوتک با اطلاعات کلاینت شما access token صادر میکند تا سرویسهایی را صدا بزنید که به منابع خود کلاینت مربوطاند و به اجازه کاربر بیرونی نیاز ندارند. مسیر دوم، رضایت خود شخص است: در توکن پیامکی: مرحله ۱ پیامک درخواست دسترسی با اسکوپهای اعلامشده ارسال میشود، در مرحله ۲ کد تایید کاربر ثبت میگردد و در مرحله ۳ access token همراه اسکوپهای مجاز و رفرش توکن برمیگردد.
تمدید توکن عمر دسترسی را برای توکنهای نوع Client Credential و نوع Code ادامه میدهد تا لازم نباشد صدور اولیه را از صفر تکرار کنید. مرز این دسته، خود دسترسی است نه داده کسبوکاری. رمز یکبار مصرف ورود به محصول شما در دسته پیامک و رمز یکبار مصرف است و استعلامهایی که پس از گرفتن توکن صدا میزنید در صفحههای دسته مربوط همان سرویس آمدهاند.
کاربردهای کسبوکاری OAuth و توکن
- موتور استعلام سمت سرور — ثبتنام، اعتبارسنجی و کارهای زمانبندیشده با توکن Client Credential و اسکوپ همان سرویسها اجرا میشود.
- وام و گزارش اعتباری با رضایت متقاضی — اجازه دسترسی به داده شخص با جریان سهمرحلهای پیامکی گرفته میشود و سپس سرویس اعتباری فراخوانی میگردد.
- سرویسهای حسابمحور — در مرحله درخواست احراز هویت پیامکی میتوان دسترسی را به حساب اعلامشده محدود کرد.
- پایداری نشستهای سازمانی — پیش از انقضای توکن، تمدید توکن دسترسی پنل یا سرویس پسزمینه را قطع نمیکند.
- جداسازی محصول و محیط — برای هر محصول کلاینت جدا بسازید تا دامنه اسکوپ و ردگیری فراخوانیها تفکیک بماند.
انتخاب سرویس مناسب در OAuth و توکن
- سرویس به اجازه کاربر نیاز ندارد — فقط گرفتن توکن Client Credential فینوتک. اسکوپ سرویس هدف را در همان درخواست بفرستید.
- سرویس به داده خود شخص مربوط است — جریان پیامکی را کامل طی کنید: مرحله ۱: درخواست احراز هویت، سپس مرحله ۲: تایید احراز هویت، سپس مرحله ۳: درخواست توکن. مرحله اول بهتنهایی توکن نمیدهد.
- توکن دارم و نزدیک انقضا است — تمدید توکن با رفرش توکن؛ برای Client Credential و Code کار میکند.
- فقط میخواهم شماره موبایل کاربر را تایید کنم، نه اسکوپ فینوتک را — آن کار در دسته پیامک و رمز یکبار مصرف است، نه اینجا.
- کجا بفهمم کدام سرویس کدام توکن را میخواهد؟ — صفحه کسبوکاری همان سرویس، رویکرد و اسکوپ را نوشته است؛ این دسته فقط صدور همان توکن را انجام میدهد.
شروع کار با OAuth و توکن
ابتدا کلاینت بسازید و اسکوپ سرویسهایی را که واقعاً لازم دارید روی آن فعال کنید. مراحل ساخت کلاینت، تفاوت جریانها و نمونه گرفتن توکن در راهنمای شروع آمده است. اطلاعات کلاینت و مقدار توکن را فقط سمت سرور نگه دارید.
پس از صدور توکن، سراغ صفحه دسته یا سرویس هدف بروید؛ این صفحه فهرست APIهای کسبوکاری را جایگزین نمیکند. مشخصات فنی هر مرحله توکن از فهرست پایین همین صفحه در دسترس است.
سوالات متداول OAuth و توکن
این دسته چه کاری انجام میدهد؟
صدور و تمدید توکن OAuth فینوتک: یا با اطلاعات کلاینت برای فراخوانیهای سمت سرور، یا با تایید پیامکی کاربر برای دسترسی به داده او.
تفاوت Client Credential با توکن پیامکی چیست؟
Client Credential به منابع خود کلاینت مربوط است و حضور کاربر لازم نیست. توکن پیامکی پس از رضایت شخص روی شماره موبایل او صادر میشود و فقط اسکوپهایی را میدهد که در مرحله اول اعلام کردهاید.
آیا تمدید توکن برای هر دو نوع کار میکند؟
بله. تمدید توکن برای نوع Client Credential و نوع Code پیشبینی شده است.
اگر مرحله تایید پیامکی را نزنم چه میشود؟
شناسه پیگیری مرحله اول بهتنهایی برای فراخوانی سرویسهای نیازمند رضایت کافی نیست؛ باید مرحله تایید و سپس درخواست توکن را کامل کنید.
توکن را در اپلیکیشن موبایل ذخیره کنم؟
خیر. اطلاعات کلاینت و access token باید سمت سرور بمانند.
مستندات فنی هر مرحله کجاست؟
صفحه کسبوکاری هر سرویس در فهرست پایین به مشخصات API همان مرحله لینک دارد. راهنمای کلی جریان هم در راهنمای شروع است.
فهرست سرویسهای OAuth و توکن
- تمدید توکن — قبل از منقضی شدن توکن با ارسال رفرش توکن، میتوانید توکن جدید دریافت کنید. (مستندات فنی)
- توکن پیامکی: مرحله ۳: درخواست توکن — پس از دریافت code از مرحله ۲، سرویس درخواست توکن را فراخوانی کنید. (مستندات فنی)
- توکن پیامکی:مرحله ۱: درخواست احراز هویت — از این سرویس برای تولید توکن با رویکرد AuthorizationCodeTypeSMS استفاده کنید (اشخاص حقیقی و حقوقی). (مستندات فنی)
- توکن پیامکی:مرحله ۲: تایید احراز هویت — با در دست داشتن کد ارسالی و شماره trackId مرحله ۱، احراز هویت را تایید کنید. (مستندات فنی)
- گرفتن توکن Client Credential فینوتک — از این سرویس برای تولید توکن با رویکرد ClientCredential استفاده کنید. (مستندات فنی)