ابرووا
شروع رایگان
☰ فهرست مستندات · صفحه‌ی ورود آماده

صفحه‌ی ورود آماده

نمایش Markdown

صفحه‌ی ورود ابرووا را با یک فراخوانی از اپ خود باز کنید، مثل FirebaseUI: ایمیل و رمز، لینک یک‌بارمصرف، تلگرام، Google، Apple و مهمان، به انگلیسی و فارسی. بدون ساختن فرم.

یک فراخوانی، بدون فرم.

همه‌ی SDKهای ابرووا احراز هویت یک صفحه‌ی ورود آماده دارند، مثل FirebaseUI. اپ آن را باز می‌کند، کاربر وارد می‌شود و اپ کاربرِ واردشده را پس می‌گیرد. فقط روش‌هایی را نشان می‌دهد که در ابرووا احراز هویت › روش‌های ورود روشن کرده‌اید، به انگلیسی یا فارسی، و داخل خود SDK است: چیز دیگری برای نصب نیست و چیزی روی سرور میزبانی نمی‌شود.

مرحله ۱: باز کردن صفحه#

روی صفحه‌های پهن و تبلت به‌شکل پنجره و روی گوشی تمام‌صفحه باز می‌شود. کاربرِ واردشده را برمی‌گرداند، یا اگر کاربر آن را بست، هیچ.

dart
// Flutter
import 'package:abrova_auth/abrova_auth_ui.dart';

final user = await AbrovaSignIn.show(context, options: const AbrovaSignInOptions(appName: 'My Shop'));
swift
// iOS (15 and later)
import AbrovaAuth

if let result = await AbrovaSignIn.present(from: self, options: AbrovaSignInOptions(appName: "My Shop")) {
    print(result.userId)
}
kotlin
// Android
AbrovaSignIn.show(this, options = AbrovaSignInOptions(appName = "My Shop")) { result ->
    if (result != null) Log.d("Auth", "signed in: ${result.userId}")
}
// یا در یک coroutine: val result = AbrovaSignIn.await(this)
typescript
// Web (هر فریم‌ورکی، یا بدون فریم‌ورک)
import { openSignIn } from '@abrova/auth-web/ui';

const result = await openSignIn(auth, { appName: 'My Shop' });
tsx
// React Native
import { useAbrovaSignIn } from '@abrova/auth-react-native/ui';

const signIn = useAbrovaSignIn(auth, { appName: 'My Shop' });
// <Button title="ورود" onPress={() => signIn.open()} /> و {signIn.element} را رندر کنید

نشست را SDK مثل هر ورود دیگری نگه می‌دارد، پس currentUser، توکن و SDKهای دیگر ابرووا بلافاصله کار می‌کنند.

برای گذاشتن فرم در صفحه‌ی خودتان به‌جای پنجره: AbrovaSignInScreen (فلاتر)، AbrovaSignInView (آی‌اواس و اندروید)، mountSignIn(element, auth) (وب)، <AbrovaSignInScreen /> (ری‌اکت نیتیو).

مرحله ۲: انتخاب آنچه نشان می‌دهد#

صفحه از ابرووا می‌پرسد کدام روش‌ها روشن‌اند و فقط همان‌ها را نشان می‌دهد. بعضی چیزی هم از اپ شما لازم دارند:

روشکی نشان داده می‌شود
ایمیل و رمزوقتی روشن است. ساخت حساب و فراموشی رمز را هم دارد.
لینک یک‌بارمصرفوقتی روشن است و magicLinkRedirectUrl را بدهید، پیوندی که اپ شما را باز می‌کند. اپ آن را مثل قبل با signInWithMagicLink(token) تمام می‌کند.
تلگراموقتی روشن است. کاربر شماره‌ی موبایل و کدی را که تلگرام می‌فرستد وارد می‌کند.
Google، Appleوقتی روشن است و تابعی بدهید که توکن ID را می‌گیرد (پایین‌تر).
مهمانوقتی ورود ناشناس روشن است و allowGuest = true بدهید. پیش‌فرض خاموش: هر مهمان یک کاربر تازه است و در کاربران فعال ماهانه‌ی طرح شما شمرده می‌شود.

مرحله ۳: گزینه‌ها#

گزینهچه می‌کند
appName، logoعنوان («ورود به My Shop») و تصویری بالای آن.
languageCodeen یا fa (راست به چپ). پیش‌فرض: زبان اپ یا دستگاه، و انگلیسی اگر هیچ‌کدام نباشد.
allowGuest«ادامه به‌عنوان مهمان» را نشان می‌دهد. پیش‌فرض خاموش.
google، appleتابع شما که برای nonce هش‌شده‌ی داده‌شده توکن ID می‌گیرد. دکمه فقط وقتی دیده می‌شود که آن را بدهید.
magicLinkRedirectUrlدکمه‌ی لینک یک‌بارمصرف را نشان می‌دهد. باید یکی از آدرس‌های بازگشت مجاز پروژه باشد.
verifyRedirectUrl، resetRedirectUrlصفحه‌های خودتان برای پیوند تأیید و بازیابی. پیش‌فرض: صفحه‌های خود ابرووا.
openUrlوقتی کاربر باید اول ربات را باز کند، پیوند ربات تلگرام را باز می‌کند. بدون آن، پیوند برای کپی نشان داده می‌شود.
color (وب، ری‌اکت نیتیو)رنگ دکمه. روی وب متغیرهای CSS مثل --abrova-accent هم هست.

صفحه ظاهر اپ شما را دنبال می‌کند: تم در فلاتر و اندروید، رنگ tint در آی‌اواس، color در وب و ری‌اکت نیتیو، و حالت تاریک همه‌جا.

Google و Apple#

Google و Apple با SDK خودشان کار می‌کنند (در آی‌اواس apple: AbrovaSignInOptions.nativeApple آن را خودش اجرا می‌کند)؛ راه‌اندازی آن‌ها در صفحه‌های Google و Apple است. یک تابع کوچک به صفحه بدهید: nonce هش‌شده را می‌گیرد، ورود Google یا Apple شما را با آن اجرا می‌کند و توکن ID را برمی‌گرداند، یا اگر کاربر لغو کرد هیچ. صفحه nonce خام را نگه می‌دارد و به ابرووا می‌فرستد، پس توکنِ دزدیده‌شده دوباره قابل استفاده نیست.

dart
AbrovaSignInOptions(
  google: (hashedNonce) async => /* ورود Google شما با این nonce */ idToken,
)

زبان#

صفحه به انگلیسی یا فارسی است، از زبان اپ شما یا languageCode. تا وقتی باز است، ایمیل‌هایی که می‌فرستد (تأیید ایمیل، بازیابی رمز، لینک یک‌بارمصرف) هم به همان زبان‌اند، مگر اینکه languageCode کلاینت را خودتان تعیین کرده باشید. برای تغییر متن آن‌ها قالب‌های ایمیل را ببینید.

امن از پایه#

  • پیام خطا از کد خطا و به زبان کاربر می‌آید؛ پیام‌های فنی ابرووا هرگز نشان داده نمی‌شوند.
  • هر بار یک کار، و تا وقتی ورودی در جریان است صفحه بسته نمی‌شود، پس هیچ ورودی بعد از اینکه به اپ گفته شد «بسته شد» انجام نمی‌شود.
  • رمز وقتی کاربر وارد می‌شود و وقتی صفحه بسته می‌شود پاک می‌شود.
  • پیوند ربات تلگرام فقط وقتی باز می‌شود که آدرس https://t.me باشد.
  • روی وب فرم در یک shadow root است و فقط متن می‌نویسد، پس CSS صفحه‌ی شما آن را خراب نمی‌کند و چیزی که نشان می‌دهد به‌عنوان کد اجرا نمی‌شود.
نسخه‌ی SDK.

صفحه‌ی آماده به SDK ابرووا احراز هویت نسخه‌ی 0.4.0 نیاز دارد: فلاتر، آی‌اواس، اندروید، وب یا ری‌اکت نیتیو.

قدم‌های بعدی#

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

به‌روزرسانی: ۱۷ آبان ۱۴۰۵