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 nhận dạngXác thực Firebase. Từ giờ trở đi, công việc phát triển tính năng trên Bộ công cụ nhận dạng sẽ bị tạm ngưng; tất cả hoạt động phát triển tính năng mới sẽ được thực hiện trên Identity Platform và Firebase Authentication. Nhà phát triển Bộ công cụ nhận dạng nên chuyển sang các nền tảng này ngay khi có thể áp dụng cho ứ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ụ danh tính của Google:

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

    Identity Platform có một bảng điều khiển mới dành cho nhà phát triển cho phép bạn xem, sửa đổi và xoá người dùng. Điều này có thể hữu ích khi gỡ lỗi quy trình đăng nhập và đăng ký. Bảng điều khiển 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 mẫu email.

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

    Identity Platform 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ác ứng dụng và dịch vụ SaaS. Nền tảng danh tính 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ã nhận dạng người dùng duy nhất mà không yêu cầu người dùng phải trải qua 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ư 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 lưu giữ bằng cùng một mã nhận dạng người dùng. Điều này rất có giá trị đối với các trường hợp như giỏ hàng phía máy chủ hoặc các ứng dụng khác mà bạn muốn thu hút người dùng trước khi đưa họ vào quy trình đăng ký.

  • Mở rộng quy mô một cách tự tin nhờ Thoả thuận mức độ cung cấp dịch vụ và Nhóm hỗ trợ Google Cloud

    Identity Platform được xây dựng trên cơ sở hạ tầng đáng tin cậy của Google, đồng thời cung cấp Thoả thuận mức độ cung cấp dịch vụ và dịch vụ 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ụ và dựa vào Google để cung cấp khả năng phục hồi, khả năng sẵn sàng và khả năng mở rộng mà bạn cần.

  • Quyền truy cập vào tất cả các tính năng của Firebase

    Firebase là một nền tảng di động giúp bạn nhanh chóng phát triển các ứng dụng chất lượng cao, gia tăng cơ sở người dùng và kiếm nhiều tiền hơn. Firebase được tạo nên từ 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 và bao gồm cơ sở hạ tầng cho: phân tích dành cho 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, lưu trữ tệp, lưu trữ tĩnh, cấu hình từ xa, báo cáo sự cố dành cho thiết bị di động và kiểm thử Android.

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

    Chúng tôi đã xây dựng lại hoàn toàn các quy trình 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. Điều này bao gồm việc 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. Tính năng này tích hợp Smart Lock cho Mật khẩu trên Android, giúp cải thiện đáng kể số lượt chuyển đổi đăng nhập và đăng ký cho các ứng dụng tham gia. Thư viện này cũng hỗ trợ việc sửa đổi giao diện dễ dàng để phù hợp với ứng dụng của bạn. Để có khả năng tuỳ chỉnh tối đa, các phiên bản AndroidiOS đã được phát hành 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 qua 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. Identity Platform có thể gửi thông báo xác minh qua email, đặt lại mật khẩu và thay đổi mật khẩu cho người dùng. Bạn có thể dễ dàng tuỳ chỉnh văn bản cho người dùng. 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 tất thao tác thay đổi mật khẩu nữa.

  • SDK mới

    Tất cả API máy chủ của Bộ công cụ nhận dạng hiện đều có sẵn trong mỗi thư viện ứng dụng của chúng tôi (Android, iOS, web). Nhà phát triển sẽ có thể đăng nhập và đăng ký người dùng cũ và mới, truy cập vào tài sản 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, v.v. mà không bị ràng buộc với 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 đăng nhập và trải nghiệm của riêng mình dựa trên API này.

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

    Với Identity Toolkit, các ứng dụng đã tạo trạng thái phiên của riêng mình dựa trên sự kiện xác thực ban đầu từ Identity Toolkit. Nền tảng nhận dạng sử dụng một dịch vụ phụ trợ lấy mã thông báo làm mới, được tạo từ sự kiện xác thực và trao đổi mã thông báo đó lấy mã truy cập có thời hạn một giờ cho Android, iOS và JavaScript. Khi người dùng thay đổi mật khẩu, mã thông báo làm mới sẽ không thể tạo mã thông báo truy cập mới nữa, do đó sẽ 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 không có trong Nền tảng nhận dạng, 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 nếu các tính năng này quan trọng đối với ứng dụng. 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 hoặc có thể có các phương án dự phòng dễ dàng để bạn có thể tiếp tục di chuyển.

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

Dịch vụ Identity Toolkit 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 một số cập nhật nhỏ. Tuy nhiên, một số tính năng và cách bạn tích hợp Identity Platform 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 bằng 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 dành cho quản trị viên dành 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 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à gửi thông báo thay đổi email. Hiện tại, các mẫu email chỉ cung cấp khả năng tuỳ chỉnh hạn chế 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

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

    Trong Identity Toolkit, khi người dùng quyết định thay đổi địa chỉ email, ứng dụng này sẽ gửi một email đến địa chỉ mới có đườ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ỷ thay đổi.

  • Triển khai nhà cung cấp dịch vụ nhận dạng (IDP)

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

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

Trong Identity Platform, các tính năng do Google Identity Toolkit cung cấp được chia thành hai thành phần:

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

    Trong Identity Platform, chức năng do API REST của Identity Toolkit cung cấp đã được đóng gói vào các SDK ứng dụng dành 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ơ người dùng; liên kết, cập nhật và xoá tài khoản; cũng như đặ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ả 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 tạo lại bằng SDK ứng dụng 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 tuỳ chỉnh hoàn toàn các luồng theo cách không thể thực hiện được bằng Bộ công cụ nhận dạng.

Ngoài ra, còn có những điểm khác biệt sau:

  • Phiên và di chuyển

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

Trước khi bắt đầu

Trước khi có thể di chuyển từ Identity Toolkit sang Identity Platform, bạn phải:

  1. Mở Cloud Console rồi chọn dự án Identity Toolkit.

  2. Trên Trang web thương mại, hãy duyệt đến Identity Platform (Nền tảng danh tính) rồi chọn "Enable Identity Platform" (Bật Identity Platform)

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

  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 Key type (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 Cloud Console. 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 Identity Toolkit, 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 lấy mã OOB từ máy chủ Identity Toolkit, sau đó gửi mã đó cho người dùng qua email. Identity Platform gửi email dựa trên các mẫu mà bạn định cấu hình mà không cần thực hiện thêm hành động nào.

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

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

      $ npm init
      $ npm install --save firebase-admin
      
    2. Trong 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

Các thay đổi đáng chú ý

Có một số điểm khác biệt khác trong việc triển khai web của Identity Platform so với Identity Toolkit.

  • Quản lý phiên 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, hệ thống sẽ đặt một cookie cho người dùng để khởi động phiên. Cookie này có thời gian tồn tại là 2 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 trang khác trên trang web. Các trang web khác đã sử dụng cookie này để tạo cookie riêng thông qua hệ thống quản lý cookie của khung.

    Giờ đây, SDK ứng dụng của Nền tảng danh tính sẽ quản lý mã thông báo nhận dạng và hoạt động với phần phụ trợ của Nền tảng danh tính để giữ cho phiên hoạt động mới mẻ. Phần phụ trợ sẽ hết hạn các phiên khi có các thay đổi quan trọng đối với tài khoản (chẳng hạn như thay đổi mật khẩu của người dùng). Mã thông báo nhận dạng không được tự động đặt làm cookie trên ứng dụng web và chỉ có thời gian tồn tại là một giờ. Trừ phi bạn chỉ muốn các phiên hoạt động trong một giờ, mã thông báo nhận dạng không phù hợp để dùng làm cookie xác thực tất cả các yêu cầu trang của bạn. Thay vào đó, bạn sẽ cần thiết lập trình nghe cho thời điểm người dùng đăng nhập, nhận mã thông báo nhận dạng, 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 cookie dựa trên nhu cầu bảo mật của ứng dụng.

  • Luồng đăng nhập trên web

    Trước đây, người dùng được chuyển hướng đến accountchooser.com khi quy trình đăng nhập được bắt đầu để tìm hiểu xem người dùng muốn sử dụng giá trị nhận dạng nào. Quy trình của giao diện người dùng Identity Platform hiện bắt đầu bằng danh sách các phương thức đăng nhập, bao gồm cả tuỳ chọn email chuyển đến accountchooser.com cho web và sử dụng hintRequest API trên Android. Ngoài ra, bạn không cần phải nhập địa chỉ email trong giao diện người dùng nữa. Điều này sẽ giúp bạn dễ dàng 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 của các nhà cung cấp không yêu cầu địa chỉ email.

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

    Tiện ích này cung cấp 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ọ với 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 ứng dụng này rất dễ dàng bằng cách sử dụ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

    Giờ đây, việc gửi email được Identity Platform xử lý và được định cấu hình trong bảng điều khiển Firebase.

  • Tuỳ chỉnh CSS

    Tiện ích giao diện người dùng sử dụng kiểu Material Design Lite, giúp thêm các ảnh động Material Design một cách linh động.

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 Identity Toolkit (có hiệu lực trong 2 tuần) để quản lý các phiên người dùng web, thì bạn cần chuyển đổi máy chủ để sử dụng cookie phiên của riêng máy chủ đó.

    1. Triển khai một điểm cuối để xác thực mã thông báo nhận dạng và đặt cookie phiên cho người dùng. Ứng dụng khách 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 chứa cookie phiên của riêng bạn, 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 đó là chưa được xác thực.
    3. Nếu không muốn người dùng mất các phiên đăng nhập hiện tại, bạn nên đợi 2 tuần để tất cả mã thông báo của Bộ công cụ nhận dạng hết hạn hoặc cũng xác thực mã thông báo kép cho ứng dụng web của bạn như mô tả bên dưới trong bước 3.
  2. Tiếp theo, vì mã thông báo nhận dạng khác với mã thông báo của Bộ công cụ nhận dạng, nên bạn phải cập nhật logic xác thực mã thông báo. Cài đặt SDK quản trị vào máy chủ của bạn; hoặc nếu bạn sử dụng một 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 tiên cập nhật các nội dung trên, bạn vẫn có thể có cá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ó ứng dụng iOS hoặc Android, người dùng sẽ cần nâng cấp lên phiên bản mới của ứng dụng để các đườ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ó cần sử dụng SDK Firebase hay SDK Bộ công cụ nhận dạng để xác thực mã thông báo hay không. Nếu bạn chỉ có một ứ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 danh tính. Do đó, bạn chỉ cần sử dụng các phương thức xác minh mã thông báo nhận dạng.

Xem Tài liệu tham khảo về API web.

Bước 2: Cập nhật HTML

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

    1. Mở dự án của bạn trong Cloud Console.
    2. Trên trang nhà cung cấp, hãy nhấp vào Thông tin chi tiết về việc thiết lập ứng dụng. Một đoạn mã khởi chạy Identity Platform sẽ xuất hiện.
    3. Sao chép và dán đoạn mã khởi chạy vào trang web của bạn.
  2. Thêm 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 đã dựa vào mã nhận dạng của Identity Toolkit để quản lý phiên, 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 nhận dạng bằng cách gọi firebase.auth().currentUser.getToken().

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

      Đừng chỉ dựa vào cookie phiên khi thực hiện các thao tác nhạy cảm hoặc gửi yêu cầu chỉnh sửa đã xác thực đến máy chủ. 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, một cách để ngăn chặn tấn công là lấy mã thông báo nhận dạng cho người dùng đã đăng nhập bằng getToken() và đưa mã thông báo vào mỗi yêu cầu (cookie 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 quản trị, ngoài việc kiểm tra cookie phiên mà khung phụ trợ của bạn đã 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 nhận dạng chỉ được lưu trữ bằng bộ nhớ web và không bao giờ được lưu trữ 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 có thể tiếp tục phát hành mã thông báo trong vòng 2 tuần hoặc có thể kéo dài hoặc rút ngắn thời gian dựa trên các yêu cầu bảo mật của ứng dụng. Khi người dùng đăng xuất, hãy xoá cookie phiên.

Bước 3: Cập nhật URL chuyển hướng của IDP

  1. Trong Cloud Console, hãy mở mục Nhà cung cấp.

  2. Đối với mỗi trì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 dịch vụ đăng nhập, hãy cập nhật URI chuyển hướng OAuth.

Android

Bước 1: Thêm Identity Platform vào ứng dụng bằng Firebase

  1. Mở Cloud Console rồi chọn dự án Identity Toolkit.

  2. Trên trang Nhà cung cấp, hãy nhấp vào Thông tin chi tiết về việc thiết lập ứng dụng, chọn thẻ Android, rồi nhấp vào Bắt đầu trong Firebase. Trong hộp thoại Thêm Firebase, hãy cung cấp tên gói và vân tay số chứng chỉ ký 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 khách Google OAuth.

  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 một phần phụ thuộc để đưa trình bổ trợ google-services vào:

    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 của bạn 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.1.0'
    compile 'com.google.android.gms:play-services-auth:21.3.0'
    

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

  1. Xoá cấu hình Identity Toolkit khỏi tệp AndroidManifest.xml. Thông tin này có trong tệp google-service.json và được trình bổ trợ google-services tải.
  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 FirebaseUI Auth vào ứng dụng.

  2. Trong ứng dụng, 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

  1. Thêm SDK ứng dụng khách vào ứng dụng 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 Identity Toolkit.

  3. Trên trang Nhà cung cấp, hãy nhấp vào Thông tin chi tiết về việc thiết lập ứng dụng, chọn thẻ iOS rồi nhấp vào Bắt đầu trong Firebase. Trong hộp thoại Thêm Firebase, hãy cung cấp tên gói và vân tay số của chứng chỉ ký của ứng dụng, sau đó 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 và mã cửa hàng ứng dụng của ứ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. Nếu bạn có nhiều mã gói trong dự án, thì mỗi mã gói phải được kết nối trong bảng điều khiển Firebase để có thể có tệp GoogleService-Info.plist riêng.

  4. Sao chép tệp cấu hình vào thư mục 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 FirebaseUI Auth vào ứng dụng.

  2. Trong ứng dụng, 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.