ابرووا
شروع رایگان
☰ فهرست مستندات · کدهای خطا

کدهای خطا

همه‌ی کدهای خطایی که Abrova Auth برمی‌گرداند، همراه HTTP status، معنای هر کدام و کاری که اپ شما باید انجام دهد؛ به‌علاوه‌ی کدهایی که خود SDKها اضافه می‌کنند (خطای شبکه، پیکربندی‌نشده، لغوشده).

به‌روزرسانی: ۵ آبان ۱۴۰۵
کدهای خطا.

هر فراخوانیِ ناموفق یک code ثابت دارد. پیام‌هایی که به کاربران نشان می‌دهید را بر اساس همین کد و به زبان خودشان بسازید. message همراه آن یک راهنمای انگلیسی برای توسعه‌دهنده است: هرگز کلید محرمانه یا آدرس ایمیل ندارد و ممکن است تغییر کند.

خطاها چطور می‌رسند#

SDKنوع خطافیلد کد
FlutterAbrovaAuthException (برای وصل کردن: AbrovaProviderAlreadyLinkedException)code، با AbrovaAuthErrorCode مقایسه کنید
iOSAbrovaAuthErrorcode، مثلاً .invalidCredentials
AndroidAbrovaAuthExceptioncode، با AbrovaAuthErrorCode مقایسه کنید
Web، React NativeAbrovaAuthError (با isAbrovaAuthError بررسی کنید)code، مثلاً 'INVALID_CREDENTIALS'

با عبور از سقف درخواست، خطا مدت انتظار را هم دارد: retryAfterSec (iOS، Android، Web، React Native) یا retryAfter (Flutter).

کدهای Abrova Auth#

کدHTTPمعناچه باید کرد
INVALID_INPUT400یک فیلد نیست یا قالبش درست نیست: ایمیل، قالب شماره تلفن، nonce کوتاه‌تر از ۱۶ کاراکتر، یا redirectUrl که جزو آدرس‌های لینک شما نیست.درخواست را اصلاح کنید. ممکن است شیء fields نام فیلد را بگوید.
INVALID_API_KEY401کلید API ناشناخته است.کلید عمومی را از Abrova Auth › راه‌اندازی بردارید.
PRODUCT_DISABLED403Abrova Auth برای پروژه روشن نیست.آن را در تنظیمات › محصولات روشن کنید.
METHOD_DISABLED403این روش ورود برای پروژه خاموش است.روشنش کنید، یا دکمه را پنهان کنید (از getMethods استفاده کنید).
NOT_CONFIGURED400 / 503روش روشن است اما راه‌اندازی نشده (شناسه‌های Apple یا Google نیست، ربات تلگرام نیست)، یا ارسال ایمیل در دسترس نیست (503).راه‌اندازی را در کنسول کامل کنید. برای 503، بعداً دوباره امتحان کنید.
INVALID_CREDENTIALS401ایمیل یا رمز عبور اشتباه، یا کد تلگرام اشتباه یا منقضی‌شده.از کاربر بخواهید بررسی کند و دوباره امتحان کند.
EMAIL_TAKEN409کاربر دیگری این ایمیل را دارد.ورود یا بازیابی رمز عبور را پیشنهاد دهید.
EMAIL_NOT_VERIFIED403پروژه ایمیل تأییدشده می‌خواهد و این ایمیل تأیید نشده است.از کاربر بخواهید ایمیل تأیید را باز کند؛ ارسال دوباره را پیشنهاد دهید.
WEAK_PASSWORD400رمز عبور خیلی کوتاه، بلندتر از ۱۲۸ کاراکتر، یا خیلی رایج است.رمز عبور بلندتر و کم‌رایج‌تری بخواهید.
INVALID_ID_TOKEN401ID token مربوط به Apple یا Google برای این پروژه معتبر نیست: شناسه‌ی اپ اشتباه، منقضی‌شده، بیش از ۱۰ دقیقه عمر، یا nonce جور نیست.شناسه‌ها را در کنسول و نحوه‌ی کار با nonce را بررسی کنید.
NONCE_REUSED401این nonce قبلاً برای یک ورود استفاده شده است.برای هر ورود یک nonce جدید بسازید.
PROVIDER_ALREADY_LINKED409هنگام وصل کردن: حساب Apple یا Google متعلق به کاربر دیگری است.به جای آن، ورود به همان حساب را پیشنهاد دهید.
TOKEN_INVALID400 / 401token لینک ایمیلی نامعتبر، استفاده‌شده یا منقضی است (400)، یا refresh token ناشناخته است (401).لینک جدید بخواهید، یا دوباره وارد شوید.
SESSION_EXPIRED401نشست تمام شده است (۶۰ روز بدون استفاده، یا یک سال عمر).SDK خارج می‌شود. از کاربر بخواهید وارد شود.
SESSION_REVOKED401نشست پایان داده شده است: خروج از همه‌جا، بازیابی رمز عبور، یا استفاده‌ی دوباره از refresh token.SDK خارج می‌شود. از کاربر بخواهید وارد شود.
USER_DISABLED403این کاربر را در کنسول غیرفعال کرده‌اید.SDK خارج می‌شود. به کاربر بگویید حسابش غیرفعال است.
UNAUTHENTICATED401فراخوانی به کاربرِ واردشده نیاز دارد و کاربری وارد نشده (یا access token معتبر نیست).اول وارد شوید.
RATE_LIMITED429تلاش‌های بیش از حد، یا رسیدن به سقف روزانه‌ی کاربران ناشناس جدید.به اندازه‌ی retryAfterSec صبر کنید و دوباره امتحان کنید.
MAU_LIMIT403۱٬۰۰۰ کاربر فعال ماهانه‌ی رایگان این ماه تمام شده، کیف پول موجودی کافی برای بیشتر از آن ندارد، و این کاربر در این ماه جدید است.پیام دوستانه‌ای نشان دهید. کیف پول را شارژ کنید تا کاربران جدید وارد شوند.
LIMIT_REACHED403یک قابلیت به موجودی کیف پول نیاز دارد (مثلاً API آمار استفاده). فراخوانی‌های ورود این کد را برنمی‌گردانند.کیف پول را شارژ کنید.
INTERNAL500 / 503مشکلی در سمت ابرووا پیش آمده است.بعداً دوباره امتحان کنید.

کدهایی که SDKها اضافه می‌کنند#

این کدها از SDK می‌آیند، نه از Abrova Auth: یا پاسخی نیامده، یا مشکل روی دستگاه است.

کدSDKمعنا
NETWORK_ERRORهمهپاسخی نیامد (آفلاین، timeout). نشست حفظ می‌شود؛ دوباره امتحان کنید.
UNKNOWNFlutter، Web، React Nativeپاسخ قابل خواندن نبود.
INVALID_RESPONSEiOS، Androidپاسخ قابل خواندن نبود.
SDK_NOT_CONFIGUREDiOS، Androidconfigure() پیش از آن صدا زده نشده است.
NOT_SIGNED_INiOS، AndroidstrictTokenProvider یا فراخوانی‌ای که کاربرِ واردشده می‌خواهد، در حالی که کسی وارد نشده است.
CANCELEDiOSکاربر صفحه‌ی ورود با Apple را بست.

خطاهایی که نشست را پایان می‌دهند#

وقتی تمدید نشست با SESSION_EXPIRED، SESSION_REVOKED، TOKEN_INVALID یا USER_DISABLED شکست بخورد، SDK نشست را از روی دستگاه پاک می‌کند و listener وضعیت ورود شما null می‌گیرد. همان‌جا کاربر را به صفحه‌ی ورود ببرید. هر خطای دیگری، از جمله NETWORK_ERROR، نشست را حفظ می‌کند.

این صفحه مفید بود؟
گزارش مشکل