Di chuyển từ Bộ công cụ nhận dạng của Google sang Nền tảng nhận dạng của Google Cloud

Phiên bản mới nhất của Bộ công cụ nhận dạng của Google đã được phát hành dưới dạng Nền tảng danh tínhXác thực Firebase. Từ nay trở đi, hoạt động liên quan đến tính năng trên Bộ công cụ nhận dạng sẽ bị tạm ngưng; toàn bộ hoạt động phát triển tính năng mới sẽ được thực hiện trên Nền tảng nhận dạng và Xác thực Firebase. Chúng tôi khuyến khích các nhà phát triển Bộ công cụ nhận dạng chuyển sang các nền tảng này ngay khi các nền tảng đó thiết thực cho các ứng dụng của họ.

Tính năng mới

Identity Platform đã có các tính năng nâng cao đáng kể so với Bộ công cụ nhận dạng của Google:

  • Bảng điều khiển mới dành cho quản trị viên

    Nền tảng Identity có bảng điều khiển mới dành cho nhà phát triển để bạn có thể xem, sửa đổi và xoá người dùng. Bảng điều khiển này có thể hữu ích trong việc gỡ lỗi quy trình đăng nhập và đăng ký của bạn. Bảng điều khiển này cũng cho phép bạn định cấu hình các phương thức xác thực và tuỳ chỉnh các mẫu email.

  • Các phương pháp xác thực mới

    Nền tảng Identity hỗ trợ các tiêu chuẩn liên kết doanh nghiệp, chẳng hạn như SAML và OIDC, cho phép bạn mở rộng quy mô của các ứng dụng và dịch vụ SaaS. Identity Platform cũng hỗ trợ các nhà cung cấp như GitHub, Microsoft, Yahoo và nhiều nhà cung cấp khác. Bạn có thể sử dụng tính năng đăng nhập ẩn danh để tạo một mã nhận dạng người dùng duy nhất mà không yêu cầu người dùng phải thực hiện bất kỳ quy trình đăng nhập hoặc đăng ký nào; điều này cho phép bạn thực hiện các lệnh gọi API đã xác thực như cách bạn thực hiện với người dùng thông thường. Khi người dùng quyết định đăng ký một tài khoản, tất cả hoạt động sẽ được giữ nguyên bằng cùng một mã nhận dạng người dùng. Điều này rất có giá trị cho các tình huống như giỏ hàng phía máy chủ hoặc các ứng dụng khác mà bạn muốn tương tác với người dùng trước khi gửi họ thông qua quy trình đăng ký.

  • Tự tin mở rộng quy mô nhờ Thoả thuận mức độ cung cấp dịch vụ và Dịch vụ hỗ trợ của nền tảng đám mây

    Nền tảng Identity được xây dựng trên cơ sở hạ tầng đáng tin cậy của Google, cung cấp Thoả thuận mức độ dịch vụ và sự hỗ trợ của Google Cloud. Điều này có nghĩa là bạn có thể tự tin mở rộng quy mô dịch vụ của mình và tin tưởng Google để cung cấp khả năng thích ứng, khả năng hoạt động và khả năng mở rộng mà bạn cần.

  • Quyền truy cập vào toàn bộ Firebase

    Firebase là nền tảng di động giúp bạn nhanh chóng phát triển ứng dụng chất lượng cao, tăng cơ sở người dùng và kiếm nhiều tiền hơn. Firebase bao gồm các tính năng bổ sung mà bạn có thể kết hợp cho phù hợp với nhu cầu của mình, đồng thời bao gồm cơ sở hạ tầng cho: phân tích thiết bị di động, gửi thông báo qua đám mây, cơ sở dữ liệu theo thời gian thực, bộ nhớ tệp, lưu trữ tĩnh, cấu hình từ xa, báo cáo sự cố báo cáo sự cố trên thiết bị di động và kiểm thử thử nghiệm Android.

  • Giao diện người dùng được cập nhật

    Chúng tôi đã xây dựng lại hoàn toàn luồng giao diện người dùng dựa trên nghiên cứu mới nhất của Google về trải nghiệm người dùng. Những quy trình này bao gồm khôi phục mật khẩu, liên kết tài khoản, quy trình phân định tài khoản mới/hiện có thường mất nhiều thời gian để lập trình và gỡ lỗi. Dịch vụ này tích hợp Smart Lock cho Mật khẩu trên Android, điều này đã cải thiện đáng kể lượt chuyển đổi đăng nhập và đăng ký đối với các ứng dụng tham gia. Phiên bản này cũng hỗ trợ dễ dàng sửa đổi giao diện cho phù hợp với ứng dụng và để có thể tuỳ chỉnh tối đa, các phiên bản AndroidiOS đã được tạo nguồn mở.

  • Đơn giản hoá quy trình thiết lập máy chủ

    Với Bộ công cụ nhận dạng, chúng tôi nhận thấy nhiều nhà phát triển đã chọn không triển khai quy trình khôi phục email, khiến người dùng không thể khôi phục tài khoản nếu quên mật khẩu. Nền tảng nhận dạng có thể gửi thông báo xác minh email, đặt lại mật khẩu và thay đổi mật khẩu cho người dùng. Người dùng có thể dễ dàng tuỳ chỉnh văn bản đó. Ngoài ra, bạn không cần lưu trữ tiện ích giao diện người dùng để lưu trữ các lệnh chuyển hướng và hoàn thành hoạt động thay đổi mật khẩu.

  • SDK mới

    Tất cả các API máy chủ của Bộ công cụ nhận dạng hiện đã có sẵn trong từng thư viện ứng dụng của chúng tôi (Android, iOS, web). Nhà phát triển có thể đăng nhập và đăng ký người dùng cũ và mới, truy cập vào thuộc tính người dùng, liên kết, cập nhật và xoá tài khoản, đặt lại mật khẩu, v.v. mà không cần liên kết với một giao diện người dùng cố định. Nếu muốn, bạn có thể tự xây dựng toàn bộ quy trình và trải nghiệm đăng nhập của riêng mình ngoài API này.

  • Quản lý phiên cho ứng dụng di động

    Với Bộ công cụ nhận dạng, các ứng dụng đã tạo trạng thái phiên riêng dựa trên sự kiện xác thực ban đầu từ Bộ công cụ nhận dạng. Nền tảng nhận dạng sử dụng dịch vụ phụ trợ lấy mã làm mới, được tạo từ sự kiện xác thực rồi trao đổi mã đó lấy mã truy cập trong một giờ cho Android, iOS và JavaScript. Khi người dùng thay đổi mật khẩu, mã làm mới sẽ không thể tạo mã truy cập mới nữa, từ đó vô hiệu hoá quyền truy cập cho đến khi người dùng xác thực lại trên thiết bị đó.

Điểm khác biệt về tính năng

Một số tính năng của Bộ công cụ nhận dạng hiện chưa có trong Nền tảng Identity, trong khi các tính năng khác đã được thiết kế lại và hoạt động theo cách khác. Bạn có thể chọn không di chuyển ngay lập tức nếu các tính năng này quan trọng đối với ứng dụng của bạn. Trong nhiều trường hợp, các tính năng này có thể không quan trọng đối với ứng dụng của bạn hoặc có thể có một số tính năng dự phòng dễ dàng giúp bạn tiếp tục di chuyển.

Sự khác biệt về phía máy chủ

Dịch vụ Bộ công cụ nhận dạng cốt lõi với các API REST cơ bản, logic xác thực tài khoản và cơ sở dữ liệu người dùng chính chỉ trải qua những bản cập nhật nhỏ. Tuy nhiên, một số tính năng và cách bạn tích hợp Nền tảng nhận dạng vào dịch vụ của mình đã thay đổi.

  • Nhà cung cấp danh tính

    PayPal và AOL không được hỗ trợ. Người dùng có tài khoản từ các IDP này vẫn có thể đăng nhập vào ứng dụng của bạn qua quy trình khôi phục mật khẩu và thiết lập mật khẩu cho tài khoản của họ.

  • Thư viện máy chủ

    Hiện tại, có SDK quản trị cho Java, Node.js, Python, Go và C#.

  • Email quản lý tài khoản

    Firebase hoặc máy chủ thư của chính nhà phát triển có thể thực hiện việc đặt lại mật khẩu, xác minh email và thay đổi email. Hiện tại, các mẫu email chỉ cung cấp khả năng tuỳ chỉnh có giới hạn từ giao diện người dùng, nhưng bạn có thể tuỳ chỉnh thêm bằng SDK dành cho quản trị viên

  • Xác nhận thay đổi địa chỉ email

    Trong Bộ công cụ về danh tính, khi người dùng quyết định thay đổi địa chỉ email của họ, hệ thống sẽ gửi email đến địa chỉ mới có một đường liên kết để tiếp tục quy trình thay đổi địa chỉ email.

    Firebase xác nhận việc thay đổi địa chỉ email bằng cách gửi email thu hồi đến địa chỉ email cũ kèm theo đường liên kết để huỷ bỏ thay đổi.

  • Ra mắt IDP

    Bộ công cụ nhận dạng có thể thêm dần nhà cung cấp danh tính vào hệ thống đăng nhập của bạn để bạn có thể thử nghiệm mức tác động đối với các yêu cầu hỗ trợ. Tính năng này đã bị xóa trong mục Xác thực Firebase.

Sự khác biệt phía máy khách

Trong Nền tảng nhận dạng, các tính năng do Bộ công cụ nhận dạng của Google cung cấp được chia thành hai thành phần:

  • SDK ứng dụng và máy chủ

    Trong Nền tảng nhận dạng, chức năng do API REST của Bộ công cụ nhận dạng cung cấp đã được đóng gói thành các SDK ứng dụng có sẵn cho Android, iOS và JavaScript. Bạn có thể sử dụng SDK để đăng nhập và đăng ký người dùng; truy cập thông tin hồ sơ của người dùng; liên kết, cập nhật và xoá tài khoản; đặt lại mật khẩu bằng SDK ứng dụng thay vì giao tiếp với dịch vụ phụ trợ thông qua các lệnh gọi REST.

  • Tiện ích giao diện người dùng

    Tất cả các luồng giao diện người dùng quản lý việc đăng nhập, đăng ký, khôi phục mật khẩu và liên kết tài khoản đều đã được xây dựng lại bằng SDK ứng dụng khách và được đóng gói dưới dạng tiện ích đăng nhập. Các SDK này có sẵn dưới dạng SDK nguồn mở cho iOS, AndroidWeb, đồng thời cho phép bạn tùy chỉnh toàn bộ các quy trình theo những cách không thể thực hiện được với Bộ công cụ nhận dạng.

Các điểm khác biệt khác bao gồm:

  • Phiên hoạt động và quá trình di chuyển

    Vì các phiên được quản lý khác nhau trong Bộ công cụ nhận dạng và Nền tảng nhận dạng, nên các phiên hiện có của người dùng sẽ bị chấm dứt khi nâng cấp SDK và người dùng của bạn sẽ phải đăng nhập lại.

Trước khi bắt đầu

Trước khi có thể di chuyển từ Bộ công cụ nhận dạng sang Nền tảng nhận dạng, bạn phải:

  1. Mở Bảng điều khiển Cloud và chọn dự án Bộ công cụ nhận dạng.

  2. Trên Marketplace, hãy duyệt đến Identity Platform (Nền tảng nhận dạng) rồi chọn "Enable Identity Platform" (Bật nền tảng nhận dạng)

  3. Mở Tài khoản dịch vụ. Tại đây, bạn có thể xem tài khoản dịch vụ mà bạn đã định cấu hình trước đó cho Bộ công cụ nhận dạng.

  4. Bên cạnh tài khoản dịch vụ, hãy nhấp vào > Tạo khoá. Sau đó, trong hộp thoại Create private key (Tạo khoá riêng tư), hãy đặt Loại khoá thành JSON rồi nhấp vào Create (Tạo). Tệp JSON chứa thông tin xác thực của tài khoản dịch vụ sẽ được tải xuống cho bạn. Bạn sẽ cần thông tin này để khởi chạy SDK trong bước tiếp theo.

  5. Quay lại Bảng điều khiển Cloud. Trong phần Nhà cung cấp, trong phương thức đăng nhập "Email/Mật khẩu", hãy mở trang Mẫu email. Sau đó, bạn có thể tuỳ chỉnh các mẫu của ứng dụng.

    Trong Bộ công cụ nhận dạng, khi người dùng đặt lại mật khẩu, thay đổi địa chỉ email hoặc xác minh địa chỉ email của họ, bạn cần phải lấy mã OOB từ máy chủ Bộ công cụ nhận dạng rồi gửi mã đó cho người dùng thông qua email. Identity Platform gửi email dựa trên các mẫu bạn định cấu hình mà không cần làm gì thêm.

  6. Không bắt buộc: Nếu bạn cần truy cập vào các dịch vụ Nền tảng nhận dạng trên máy chủ của mình, hãy cài đặt SDK Firebase.

    1. Bạn có thể cài đặt SDK quản trị Node.js bằng npm:

      $ npm init
      $ npm install --save firebase-admin
      
    2. Trong đoạn mã của mình, bạn có thể truy cập vào Firebase bằng:

      var admin = require('firebase-admin');
      var app = admin.initializeApp({
        credential: admin.credential.cert('path/to/serviceAccountCredentials.json')
      });
      

Tiếp theo, hãy hoàn tất các bước di chuyển cho nền tảng của ứng dụng: Android, iOS, web.

Máy chủ và JavaScript

Thay đổi đáng chú ý

Ngoài ra, còn có một số điểm khác biệt khác trong quá trình triển khai nền tảng web của Nền tảng danh tính so với Bộ công cụ nhận dạng.

  • Quản lý phiên duyệt web

    Trước đây, khi người dùng xác thực bằng tiện ích Bộ công cụ nhận dạng, một cookie được đặt cho người dùng để khởi động phiên. Cookie này tồn tại hai tuần và được dùng để cho phép người dùng sử dụng tiện ích quản lý tài khoản để thay đổi mật khẩu và địa chỉ email. Một số trang web đã sử dụng cookie này để xác thực tất cả các yêu cầu khác liên quan đến trang trên trang web. Các trang web khác đã dùng cookie này để tạo cookie riêng thông qua hệ thống quản lý cookie trong khung của họ.

    Hiện tại, các SDK ứng dụng của Nền tảng danh tính sẽ quản lý mã thông báo mã nhận dạng và làm việc với phần phụ trợ của Nền tảng nhận dạng để luôn làm mới phiên. Phần phụ trợ hết hạn phiên khi có các thay đổi quan trọng về tài khoản (chẳng hạn như thay đổi mật khẩu người dùng). Mã thông báo mã nhận dạng không được tự động đặt làm cookie trên ứng dụng web và chỉ có hiệu lực trong vòng một giờ. Trừ phi bạn muốn các phiên chỉ diễn ra trong một giờ, mã thông báo mã nhận dạng không thích hợp để được dùng làm cookie để xác thực tất cả các yêu cầu của trang. Thay vào đó, bạn cần thiết lập trình nghe khi người dùng đăng nhập, lấy mã thông báo, xác thực mã thông báo và tạo cookie của riêng bạn thông qua hệ thống quản lý cookie của khung.

    Bạn sẽ cần đặt thời gian tồn tại của phiên hoạt động của cookie dựa trên nhu cầu bảo mật của ứng dụng.

  • Quy trình đăng nhập trên web

    Trước đây, người dùng được chuyển hướng đến accountchooser.com khi quá trình đăng nhập bắt đầu để tìm hiểu giá trị nhận dạng mà người dùng muốn sử dụng. Quy trình của giao diện người dùng Nền tảng nhận dạng hiện bắt đầu với một danh sách phương thức đăng nhập, bao gồm cả tuỳ chọn email, chuyển đến accountchooser.com dành cho web và sử dụng API gợi ý trên Android. Ngoài ra, giao diện người dùng không còn bắt buộc phải cung cấp địa chỉ email. Điều này sẽ giúp việc hỗ trợ người dùng ẩn danh, người dùng xác thực tuỳ chỉnh hoặc người dùng từ những nhà cung cấp không bắt buộc phải có địa chỉ email.

  • Tiện ích quản lý tài khoản

    Tiện ích này cung cấp một giao diện người dùng để người dùng thay đổi địa chỉ email, thay đổi mật khẩu hoặc huỷ liên kết tài khoản của họ khỏi các nhà cung cấp danh tính. Tính năng này hiện đang trong quá trình phát triển.

  • Nút/tiện ích đăng nhập

    Các tiện ích như nút đăng nhập và thẻ người dùng không còn được cung cấp nữa. Bạn có thể tạo các thẻ này rất dễ dàng bằng API Xác thực Firebase.

  • Không có signOutUrl

    Bạn sẽ cần gọi firebase.auth.signOut() và xử lý lệnh gọi lại.

  • Không có oobActionUrl

    Việc gửi email hiện do Identity Platform xử lý và được định cấu hình trong bảng điều khiển của Firebase.

  • Tuỳ chỉnh CSS

    Tiện ích giao diện người dùng sử dụng kiểu Material Design Lite để tự động thêm ảnh động Material Design.

Bước 1: Thay đổi mã máy chủ

  1. Nếu máy chủ của bạn dựa vào mã thông báo Bộ công cụ nhận dạng (có hiệu lực trong hai tuần) để quản lý phiên hoạt động của người dùng trên web, thì bạn cần chuyển đổi máy chủ để sử dụng cookie của phiên hoạt động riêng.

    1. Triển khai một điểm cuối để xác thực mã thông báo mã nhận dạng và đặt cookie phiên cho người dùng. Ứng dụng khách sẽ gửi mã thông báo mã nhận dạng Firebase đến điểm cuối này.
    2. Nếu yêu cầu đến có chứa cookie phiên của riêng bạn, thì bạn có thể xem xét việc người dùng được xác thực. Nếu không, hãy coi yêu cầu này là chưa được xác thực.
    3. Nếu bạn không muốn bất kỳ người dùng nào mất phiên đăng nhập hiện có, bạn nên đợi 2 tuần để tất cả các mã thông báo của Bộ công cụ nhận dạng hết hạn hoặc bạn cũng nên xác thực mã thông báo kép cho ứng dụng web như mô tả dưới đây trong bước 3.
  2. Tiếp theo, vì mã thông báo mã nhận dạng khác với mã thông báo của Bộ công cụ nhận dạng, bạn phải cập nhật logic xác thực mã thông báo của mình. Cài đặt SDK quản trị vào máy chủ; hoặc nếu bạn sử dụng ngôn ngữ không được SDK quản trị hỗ trợ, hãy tải thư viện xác thực mã thông báo JWT xuống cho môi trường của bạn và xác thực mã thông báo đúng cách.

  3. Trong lần đầu cập nhật, có thể bạn vẫn có đường dẫn mã dựa vào mã thông báo của Bộ công cụ nhận dạng. Nếu bạn có các ứng dụng iOS hoặc Android, người dùng sẽ cần nâng cấp lên phiên bản ứng dụng mới để đường dẫn mã mới hoạt động. Nếu không muốn buộc người dùng cập nhật ứng dụng, bạn có thể thêm logic xác thực máy chủ bổ sung để kiểm tra mã thông báo và xác định xem mã thông báo đó cần sử dụng SDK Firebase hay SDK của Bộ công cụ nhận dạng để xác thực mã thông báo. Nếu bạn chỉ có ứng dụng web, tất cả các yêu cầu xác thực mới sẽ được chuyển sang Nền tảng nhận dạng và do đó, bạn chỉ cần sử dụng phương thức xác minh mã thông báo mã nhận dạng.

Hãy xem Tài liệu tham khảo về API Web.

Bước 2: Cập nhật HTML của bạn

  1. Thêm mã khởi chạy vào ứng dụng của bạn:

    1. Mở dự án của bạn trong Bảng điều khiển Cloud.
    2. Trên trang nhà cung cấp, hãy nhấp vào Application Setup Details (Chi tiết thiết lập ứng dụng). Bạn sẽ thấy một đoạn mã khởi chạy Nền tảng nhận dạng.
    3. Sao chép và dán đoạn mã khởi chạy vào trang web.
  2. Thêm Authentication Widget (Tiện ích xác thực) vào ứng dụng:

    <script src="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.js"></script>
    <link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.css" />
    <!-- *******************************************************************************************
       * TODO(DEVELOPER): Paste the initialization snippet from:
       * Firebase Console > Overview > Add Firebase to your web app. *
       ***************************************************************************************** -->
    <script type="text/javascript">
      // FirebaseUI config.
      var uiConfig = {
        'signInSuccessUrl': '<url-to-redirect-to-on-success>',
        'signInOptions': [
          // Leave the lines as is for the providers you want to offer your users.
          firebase.auth.GoogleAuthProvider.PROVIDER_ID,
          firebase.auth.FacebookAuthProvider.PROVIDER_ID,
          firebase.auth.TwitterAuthProvider.PROVIDER_ID,
          firebase.auth.GithubAuthProvider.PROVIDER_ID,
          firebase.auth.EmailAuthProvider.PROVIDER_ID
        ],
        // Terms of service url.
        'tosUrl': '<your-tos-url>',
      };
    
      // Initialize the FirebaseUI Widget using Firebase.
      var ui = new firebaseui.auth.AuthUI(firebase.auth());
      // The start method will wait until the DOM is loaded.
      ui.start('#firebaseui-auth-container', uiConfig);
    </script>
    
  3. Xoá SDK Bộ công cụ nhận dạng khỏi ứng dụng của bạn.

  4. Nếu bạn đã dựa vào mã thông báo giá trị nhận dạng của Bộ công cụ nhận dạng để quản lý phiên, thì bạn phải thực hiện các thay đổi sau ở phía máy khách:

    1. Sau khi đăng nhập thành công bằng Identity Platform, hãy lấy mã thông báo mã nhận dạng bằng cách gọi firebase.auth().currentUser.getToken().

    2. Gửi mã thông báo mã nhận dạng đến máy chủ phụ trợ, xác thực mã đó và phát hành cookie phiên của riêng bạn.

      Đừng chỉ dựa vào cookie của phiên khi thực hiện các thao tác nhạy cảm hoặc gửi các yêu cầu chỉnh sửa đã xác thực đến máy chủ của bạn. Bạn sẽ cần cung cấp thêm biện pháp bảo vệ chống giả mạo yêu cầu trên nhiều trang web (CSRF).

      Nếu khung của bạn không cung cấp tính năng bảo vệ CSRF, thì có một cách để ngăn chặn cuộc tấn công là lấy mã thông báo mã nhận dạng cho người dùng đã đăng nhập bằng getToken() và thêm mã thông báo vào mỗi yêu cầu (cookie của phiên cũng sẽ được gửi theo mặc định). Sau đó, bạn sẽ xác thực mã thông báo đó bằng SDK dành cho quản trị viên cùng với bước kiểm tra cookie của phiên mà khung phụ trợ đã hoàn tất. Điều này sẽ khiến các cuộc tấn công CSRF khó thành công hơn vì mã thông báo mã nhận dạng chỉ được lưu trữ bằng bộ nhớ trên web mà không bao giờ được lưu trong cookie.

    3. Mã thông báo của Bộ công cụ nhận dạng có hiệu lực trong hai tuần. Bạn nên tiếp tục phát hành mã thông báo trong hai tuần hoặc bạn nên tạo thời lượng dài hơn hay ngắn hơn tuỳ theo các yêu cầu về bảo mật của ứng dụng. Khi người dùng đăng xuất, hãy xoá cookie của phiên.

Bước 3: Cập nhật URL chuyển hướng của nhà cung cấp danh tính (IDP)

  1. Trong Cloud Console, hãy mở phần Providers (Nhà cung cấp).

  2. Đối với mỗi nhà cung cấp dịch vụ đăng nhập liên kết mà bạn hỗ trợ, hãy làm như sau:

    1. Nhấp vào tên của nhà cung cấp dịch vụ đăng nhập.
    2. Sao chép URI chuyển hướng OAuth.
    3. Trong bảng điều khiển dành cho nhà phát triển của nhà cung cấp tính năng đăng nhập, hãy cập nhật URI chuyển hướng OAuth.

Android

Bước 1: Thêm Nền tảng nhận dạng vào ứng dụng của bạn bằng Firebase

  1. Mở Cloud Console rồi chọn dự án Bộ công cụ nhận dạng của bạn.

  2. Trên trang Nhà cung cấp, hãy nhấp vào Thông tin thiết lập ứng dụng, chọn thẻ Android, sau đó nhấp vào Bắt đầu trong Firebase. Trong hộp thoại Thêm Firebase, hãy cung cấp dấu vân tay chứng chỉ ký và tên gói của ứng dụng, rồi nhấp vào Thêm ứng dụng. Sau đó, tệp cấu hình google-services.json sẽ được tải xuống máy tính của bạn.

  3. Sao chép tệp cấu hình vào thư mục gốc của mô-đun ứng dụng Android. Tệp cấu hình này chứa thông tin về dự án và ứng dụng OAuth của Google.

  4. Trong tệp build.gradle cấp dự án (<var>your-project</var>/build.gradle), hãy chỉ định tên gói của ứng dụng trong phần defaultConfig:

    defaultConfig {
       …..
      applicationId "com.your-app"
    }
    
  5. Ngoài ra, trong tệp build.gradle cấp dự án, hãy thêm phần phụ thuộc để đưa vào trình bổ trợ google-services:

    buildscript {
     dependencies {
       // Add this line
       classpath 'com.google.gms:google-services:3.0.0'
     }
    }
    
  6. Trong tệp build.gradle cấp ứng dụng (<var>my-project</var>/<var>app-module</var>/build.gradle) của ứng dụng, hãy thêm dòng sau đây sau trình bổ trợ Android cho Gradle để bật trình bổ trợ google-services:

    apply plugin: 'com.android.application'
    // Add this line
    apply plugin: 'com.google.gms.google-services'
    

    Trình bổ trợ google-services sử dụng tệp google-services.json để định cấu hình ứng dụng nhằm sử dụng Firebase.

  7. Ngoài ra, trong tệp build.gradle cấp ứng dụng, hãy thêm phần phụ thuộc Xác thực Firebase:

    compile 'com.google.firebase:firebase-auth:23.0.0'
    compile 'com.google.android.gms:play-services-auth:21.2.0'
    

Bước 2: Xoá SDK Bộ công cụ nhận dạng

  1. Xoá cấu hình Bộ công cụ nhận dạng khỏi tệp AndroidManifest.xml. Thông tin này có trong tệp google-service.json và được tải bởi trình bổ trợ google-services.
  2. Xoá SDK Bộ công cụ nhận dạng khỏi ứng dụng của bạn.

Bước 3: Thêm FirebaseUI vào ứng dụng

  1. Thêm tính năng Xác thực FirebaseUI vào ứng dụng.

  2. Trong ứng dụng của bạn, hãy thay thế các lệnh gọi đến SDK Bộ công cụ nhận dạng bằng các lệnh gọi đến FirebaseUI.

iOS

Bước 1: Thêm Firebase vào ứng dụng của bạn

  1. Thêm SDK ứng dụng khách vào ứng dụng của bạn bằng cách chạy các lệnh sau:

    $ cd your-project directory
    $ pod init
    $ pod 'Firebase'
    
  2. Mở Cloud Console rồi chọn dự án Bộ công cụ nhận dạng của bạn.

  3. Trên trang Nhà cung cấp, hãy nhấp vào Chi tiết thiết lập ứng dụng, chọn thẻ iOS, sau đó nhấp vào Bắt đầu trong Firebase. Trong hộp thoại Thêm Firebase, hãy cung cấp dấu vân tay chứng chỉ ký và tên gói của ứng dụng rồi nhấp vào Thêm ứng dụng. Sau đó, tệp cấu hình google-services.json sẽ được tải xuống máy tính của bạn. Trong hộp thoại Thêm Firebase, hãy cung cấp mã gói ứng dụng và Mã cửa hàng ứng dụng, sau đó nhấp vào Thêm ứng dụng. Sau đó, tệp cấu hình GoogleService-Info.plist sẽ được tải xuống máy tính của bạn. Nếu có nhiều mã nhận dạng gói trong dự án, bạn phải kết nối từng mã nhận dạng gói trong bảng điều khiển của Firebase để có thể có tệp GoogleService-Info.plist riêng.

  4. Sao chép tệp cấu hình vào gốc của dự án Xcode và thêm tệp đó vào tất cả các mục tiêu.

Bước 2: Xoá SDK Bộ công cụ nhận dạng

  1. Xoá GoogleIdentityToolkit khỏi Podfile của ứng dụng.
  2. Chạy lệnh pod install.

Bước 3: Thêm FirebaseUI vào ứng dụng

  1. Thêm tính năng Xác thực FirebaseUI vào ứng dụng.

  2. Trong ứng dụng của bạn, hãy thay thế các lệnh gọi đến SDK Bộ công cụ nhận dạng bằng các lệnh gọi đến FirebaseUI.