با تأیید اعتبار Firebase در Android شروع کنید

برنامه خود را به Firebase وصل کنید

اگر شما در حال حاضر، اضافه فایربیس به پروژه آندروید خود را .

احراز هویت Firebase را به برنامه خود اضافه کنید

با استفاده از فایربیس آندروید BOM ، اعلام وابستگی برای کتابخانه فایربیس احراز هویت آندروید در ماژول خود را (در سطح برنامه) فایل Gradle (معمولا app/build.gradle ).

جاوا

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:28.4.1')

    // Declare the dependency for the Firebase Authentication library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth'
}

با استفاده از فایربیس آندروید BOM ، برنامه شما همیشه نسخه های سازگار با کتابخانه فایربیس آندروید استفاده خواهد کرد.

(جایگزین) اعلام فایربیس وابستگی کتابخانه بدون استفاده از BOM

در صورت عدم استفاده از Firebase BoM ، باید هر نسخه کتابخانه Firebase را در خط وابستگی مشخص کنید.

توجه داشته باشید که در صورت استفاده از کتابخانه فایربیس های متعدد در برنامه شما، ما به شدت توصیه با استفاده از BOM به مدیریت نسخه های کتابخانه، که تضمین می کند که تمام نسخه های سازگار است.

dependencies {
    // Declare the dependency for the Firebase Authentication library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth:21.0.1'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:28.4.1')

    // Declare the dependency for the Firebase Authentication library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth-ktx'
}

با استفاده از فایربیس آندروید BOM ، برنامه شما همیشه نسخه های سازگار با کتابخانه فایربیس آندروید استفاده خواهد کرد.

(جایگزین) اعلام فایربیس وابستگی کتابخانه بدون استفاده از BOM

در صورت عدم استفاده از Firebase BoM ، باید هر نسخه کتابخانه Firebase را در خط وابستگی مشخص کنید.

توجه داشته باشید که در صورت استفاده از کتابخانه فایربیس های متعدد در برنامه شما، ما به شدت توصیه با استفاده از BOM به مدیریت نسخه های کتابخانه، که تضمین می کند که تمام نسخه های سازگار است.

dependencies {
    // Declare the dependency for the Firebase Authentication library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth-ktx:21.0.1'
}

برای استفاده از یک ارائه دهنده احراز هویت، شما نیاز به آن را فعال کنید در کنسول فایربیس . به صفحه روش ورود به سیستم در بخش احراز هویت Firebase بروید تا ورود به سیستم ایمیل/رمز عبور و سایر ارائه دهندگان هویتی که برای برنامه خود می خواهید فعال شود.

(اختیاری) نمونه اولیه و آزمایش با Firebase Local Emulator Suite

قبل از صحبت در مورد نحوه احراز هویت برنامه توسط کاربران ، اجازه دهید مجموعه ای از ابزارهایی را که می توانید برای نمونه اولیه و آزمایش عملکرد احراز هویت استفاده کنید ، معرفی کنیم: Firebase Local Emulator Suite. اگر در حال تصمیم گیری در مورد تکنیک ها و ارائه دهندگان احراز هویت هستید ، آزمایش مدل های مختلف داده با داده های عمومی و خصوصی با استفاده از احراز هویت و قوانین امنیتی Firebase یا نمونه سازی طرح های UI ورود به سیستم ، امکان کار در محلی بدون استقرار خدمات زنده می تواند ایده خوبی باشد. به

شبیه ساز احراز هویت بخشی از مجموعه شبیه ساز محلی است که برنامه شما را قادر می سازد تا با محتوا و پیکربندی پایگاه داده شبیه سازی شده و همچنین منابع پروژه شما (عملکردها ، پایگاه های داده دیگر و قوانین امنیتی) به صورت اختیاری تعامل داشته باشد.

استفاده از شبیه ساز احراز هویت شامل چند مرحله است:

  1. افزودن یک خط کد به پیکربندی آزمایشی برنامه خود برای اتصال به شبیه ساز.
  2. از ریشه دایرکتوری پروژه های محلی خود را، در حال اجرا firebase emulators:start .
  3. استفاده از رابط کاربری Local Emulator Suite برای نمونه سازی تعاملی یا API شبیه ساز احراز هویت REST API برای آزمایش غیر تعاملی.

راهنمای مفصل در دسترس است اتصال برنامه خود را به شبیه ساز احراز هویت . برای اطلاعات بیشتر، نگاه کنید به مقدمه محلی شبیه ساز سوئیت .

اکنون بیایید به نحوه احراز هویت کاربران ادامه دهیم.

وضعیت نویسندگی فعلی را بررسی کنید

  1. اعلام یک نمونه از FirebaseAuth .

    جاوا

    private FirebaseAuth mAuth;

    Kotlin+KTX

    private lateinit var auth: FirebaseAuth
  2. در onCreate() روش، مقداردهی اولیه FirebaseAuth به عنوان مثال.

    جاوا

    // Initialize Firebase Auth
    mAuth = FirebaseAuth.getInstance();

    Kotlin+KTX

    // Initialize Firebase Auth
    auth = Firebase.auth
  3. هنگام فعال سازی فعالیت خود ، بررسی کنید که آیا کاربر در حال حاضر به سیستم وارد شده است یا خیر.

    جاوا

    @Override
    public void onStart() {
        super.onStart();
        // Check if user is signed in (non-null) and update UI accordingly.
        FirebaseUser currentUser = mAuth.getCurrentUser();
        if(currentUser != null){
            reload();
        }
    }

    Kotlin+KTX

    public override fun onStart() {
        super.onStart()
        // Check if user is signed in (non-null) and update UI accordingly.
        val currentUser = auth.currentUser
        if(currentUser != null){
            reload();
        }
    }

ثبت نام کاربران جدید

ایجاد یک createAccount روش که طول می کشد در یک آدرس ایمیل و رمز عبور، آنها را تایید، و سپس یک کاربر جدید با ایجاد createUserWithEmailAndPassword روش.

جاوا

mAuth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "createUserWithEmail:success");
                    FirebaseUser user = mAuth.getCurrentUser();
                    updateUI(user);
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "createUserWithEmail:failure", task.getException());
                    Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                    updateUI(null);
                }
            }
        });

Kotlin+KTX

auth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "createUserWithEmail:success")
                val user = auth.currentUser
                updateUI(user)
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "createUserWithEmail:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.",
                        Toast.LENGTH_SHORT).show()
                updateUI(null)
            }
        }

یک فرم برای ثبت نام کاربران جدید با ایمیل و رمز عبور خود اضافه کنید و در صورت ارسال با این روش جدید تماس بگیرید. شما می توانید به عنوان مثال در ما را ببینید نمونه شروع سریع .

ورود کاربران فعلی

ایجاد یک signIn روش که طول می کشد در یک آدرس ایمیل و رمز عبور، آنها را تایید، و سپس امضا کاربر در با signInWithEmailAndPassword روش.

جاوا

mAuth.signInWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "signInWithEmail:success");
                    FirebaseUser user = mAuth.getCurrentUser();
                    updateUI(user);
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "signInWithEmail:failure", task.getException());
                    Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                    updateUI(null);
                }
            }
        });

Kotlin+KTX

auth.signInWithEmailAndPassword(email, password)
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "signInWithEmail:success")
                val user = auth.currentUser
                updateUI(user)
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "signInWithEmail:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.",
                        Toast.LENGTH_SHORT).show()
                updateUI(null)
            }
        }

یک فرم برای ورود کاربران با ایمیل و گذرواژه خود اضافه کنید و در صورت ارسال با این روش جدید تماس بگیرید. شما می توانید به عنوان مثال در ما را ببینید نمونه شروع سریع .

دسترسی به اطلاعات کاربر

اگر یک کاربر در موفقیت امضا شما می توانید داده های حساب خود را در هر نقطه با گرفتن getCurrentUser روش.

جاوا

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    // Name, email address, and profile photo Url
    String name = user.getDisplayName();
    String email = user.getEmail();
    Uri photoUrl = user.getPhotoUrl();

    // Check if user's email is verified
    boolean emailVerified = user.isEmailVerified();

    // The user's ID, unique to the Firebase project. Do NOT use this value to
    // authenticate with your backend server, if you have one. Use
    // FirebaseUser.getIdToken() instead.
    String uid = user.getUid();
}

Kotlin+KTX

val user = Firebase.auth.currentUser
user?.let {
    // Name, email address, and profile photo Url
    val name = user.displayName
    val email = user.email
    val photoUrl = user.photoUrl

    // Check if user's email is verified
    val emailVerified = user.isEmailVerified

    // The user's ID, unique to the Firebase project. Do NOT use this value to
    // authenticate with your backend server, if you have one. Use
    // FirebaseUser.getToken() instead.
    val uid = user.uid
}

مراحل بعدی

راهنماهای افزودن سایر خدمات هویت و احراز هویت را کاوش کنید: