API REST xác thực Firebase

Sử dụng API

Bạn có thể truy vấn phần phụ trợ Xác thực Firebase thông qua API REST. Bạn có thể dùng công cụ này cho nhiều hoạt động như như tạo người dùng mới, đăng nhập vào những người dùng hiện có và chỉnh sửa hoặc xoá những người dùng này.

Trong tài liệu này, API_KEY đề cập đến Khoá API Web, có thể lấy trên trang chế độ cài đặt dự án trong bảng điều khiển dành cho quản trị viên.

Trao đổi mã thông báo tuỳ chỉnh để lấy giá trị nhận dạng và mã làm mới

Bạn có thể trao đổi mã thông báo xác thực tuỳ chỉnh lấy mã nhận dạng và mã làm mới bằng cách tạo một giao thức HTTP Yêu cầu POST đến điểm cuối xác thực verifyCustomToken.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã thông báo chuỗi Mã thông báo tuỳ chỉnh xác thực Firebase để tạo cặp mã nhận dạng và mã làm mới.
trả lại mã thông báo an toàn boolean Liệu có trả về một giá trị nhận dạng và mã làm mới hay không. Phải luôn là đúng.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase được tạo từ mã thông báo tuỳ chỉnh được cung cấp.
làm mới mã thông báo chuỗi Mã làm mới xác thực Firebase được tạo từ mã thông báo tuỳ chỉnh đã cung cấp.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết với mã thông báo tuỳ chỉnh.

Phản hồi mẫu

{
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Các mã lỗi thường gặp

  • INVALID_CUSTOM_TOKEN: Định dạng mã thông báo tuỳ chỉnh không chính xác hoặc mã thông báo không hợp lệ cho một số lý do (ví dụ: hết hạn, chữ ký không hợp lệ, v.v.)
  • CREDENTIAL_MISMATCH: Mã thông báo tuỳ chỉnh tương ứng với một dự án Firebase khác.

Trao đổi mã làm mới lấy mã thông báo nhận dạng

Bạn có thể làm mới mã thông báo mã nhận dạng Firebase bằng cách tạo một HTTP Yêu cầu POST đến điểm cuối securetoken.googleapis.com.

Phương thức: POST

Loại nội dung: application/x-www-form-url encrypted

Điểm cuối
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
grant_type chuỗi Loại cấp quyền của mã làm mới luôn là "refresh_token".
làm mới_mã thông báo chuỗi Mã làm mới Xác thực Firebase.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
expires_in chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.
token_type chuỗi Loại mã thông báo làm mới, luôn là "Bearer".
làm mới_mã thông báo chuỗi Mã làm mới xác thực Firebase được cung cấp trong yêu cầu hoặc mã làm mới mới.
mã_mã_nhận_dạng chuỗi Mã thông báo mã xác thực Firebase.
user_id chuỗi uid tương ứng với mã thông báo nhận dạng được cung cấp.
mã_dự_án chuỗi Mã dự án Firebase của bạn.

Yêu cầu mẫu

curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã nhận dạng Firebase mới và mã làm mới.

Phản hồi mẫu

{
  "expires_in": "3600",
  "token_type": "Bearer",
  "refresh_token": "[REFRESH_TOKEN]",
  "id_token": "[ID_TOKEN]",
  "user_id": "tRcfmLH7o2XrNELi...",
  "project_id": "1234567890"
}

Các mã lỗi thường gặp

  • TOKEN_EXPIRED: Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.
  • USER_DISABLED: Tài khoản người dùng đã bị quản trị viên vô hiệu hoá.
  • USER_NOT_FOUND: Không tìm thấy người dùng tương ứng với mã làm mới. Có thể người dùng này đã bị xoá.
  • Khoá API không hợp lệ. Vui lòng chuyển một khoá API hợp lệ. (đã cung cấp khoá API không hợp lệ)
  • INVALID_refRESH_TOKEN: Đã cung cấp mã thông báo làm mới không hợp lệ.
  • Đã nhận được tải trọng JSON không hợp lệ. Tên không xác định \"refresh_tokens\": Không thể liên kết truy vấn . Trường 'refresh_tokens' Không thể tìm thấy trong thông báo yêu cầu.
  • INVALID_INVALID_TYPE: Loại cấp quyền được chỉ định không hợp lệ.
  • MISSING_RefRESH_TOKEN: Không có mã làm mới nào được cung cấp.
  • PROJECT_NUMBER_MISMATCH: Số dự án của mã làm mới không khớp với số dự án của khoá API được cung cấp.

Đăng ký bằng email / mật khẩu

Bạn có thể tạo người dùng email và mật khẩu mới bằng cách phát một HTTP Yêu cầu POST đến điểm cuối xác thực signupNewUser.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
email chuỗi Email để người dùng tạo.
mật khẩu chuỗi Mật khẩu để người dùng tạo.
trả lại mã thông báo an toàn boolean Liệu có trả về một giá trị nhận dạng và mã làm mới hay không. Phải luôn là đúng.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase cho người dùng mới tạo.
email chuỗi Email cho người dùng mới tạo.
làm mới mã thông báo chuỗi Mã làm mới xác thực Firebase cho người dùng mới tạo.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.
mã nhận dạng cục bộ chuỗi UId của người dùng mới được tạo.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết với tài khoản mới.

Phản hồi mẫu

{
  "idToken": "[ID_TOKEN]",
  "email": "[user@example.com]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "tRcfmLH7..."
}

Các mã lỗi thường gặp

  • EMAIL_EXISTS: Địa chỉ email đã được một tài khoản khác sử dụng.
  • ACTIVITY_NOT_ALLOWED: Tính năng đăng nhập bằng mật khẩu bị tắt cho dự án này.
  • TOO_MANY_SSL_TRY_LATER: Chúng tôi đã chặn tất cả yêu cầu từ thiết bị này do nhận xét bất thường của bạn. Hãy thử lại sau.

Đăng nhập bằng email / mật khẩu

Bạn có thể đăng nhập người dùng bằng email và mật khẩu khi phát hành một HTTP Yêu cầu POST đến điểm cuối xác thực verifyPassword.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
email chuỗi Email mà người dùng đang sử dụng để đăng nhập.
mật khẩu chuỗi Mật khẩu cho tài khoản.
trả lại mã thông báo an toàn boolean Liệu có trả về một giá trị nhận dạng và mã làm mới hay không. Phải luôn là đúng.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase cho người dùng đã xác thực.
email chuỗi Email cho người dùng đã xác thực.
làm mới mã thông báo chuỗi Mã làm mới xác thực Firebase cho người dùng đã xác thực.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.
mã nhận dạng cục bộ chuỗi URL của người dùng được xác thực.
đã đăng ký boolean Liệu email này có phải là của một tài khoản hiện có hay không.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết bằng tài khoản email/mật khẩu hiện có.

Phản hồi mẫu

{
  "localId": "ZY1rJK0eYLg...",
  "email": "[user@example.com]",
  "displayName": "",
  "idToken": "[ID_TOKEN]",
  "registered": true,
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Các mã lỗi thường gặp

  • EMAIL_NOT_FOUND: Không có hồ sơ người dùng nào tương ứng với giá trị nhận dạng này. Người dùng có thể đã bị xóa.
  • INVALID_passwords: Mật khẩu không hợp lệ hoặc người dùng không có mật khẩu.
  • USER_DISABLED: Tài khoản người dùng đã bị quản trị viên vô hiệu hoá.

Đăng nhập ẩn danh

Bạn có thể đăng nhập người dùng ẩn danh bằng cách tạo một HTTP Yêu cầu POST đến điểm cuối xác thực signupNewUser.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
trả lại mã thông báo an toàn boolean Liệu có trả về một giá trị nhận dạng và mã làm mới hay không. Phải luôn là đúng.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase cho người dùng mới tạo.
email chuỗi Vì người dùng đang ở trạng thái ẩn danh nên bạn phải để trống trường này.
làm mới mã thông báo chuỗi Mã làm mới xác thực Firebase cho người dùng mới tạo.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.
mã nhận dạng cục bộ chuỗi UId của người dùng mới được tạo.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết với người dùng ẩn danh đó.

Phản hồi mẫu

{
  "idToken": "[ID_TOKEN]",
  "email": "",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "Jws4SVjpT..."
}

Các mã lỗi thường gặp

  • ACTIVITY_NOT_ALLOWED: Tính năng đăng nhập của người dùng ẩn danh bị tắt cho dự án này.

Đăng nhập bằng thông tin đăng nhập OAuth

Bạn có thể đăng nhập người dùng bằng thông tin đăng nhập OAuth khi tạo một HTTP Yêu cầu POST đến điểm cuối xác thực verifyAssertion.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
requestUri chuỗi URI mà IDP chuyển hướng người dùng quay lại.
Nội dung bài đăng chuỗi Chứa thông tin đăng nhập OAuth (mã thông báo nhận dạng hoặc mã truy cập) và mã nhà cung cấp gây ra vấn đề chứng chỉ danh tính.
trả lại mã thông báo an toàn boolean Liệu có trả về một giá trị nhận dạng và mã làm mới hay không. Phải luôn là đúng.
Thông tin xác thực trả về boolean Liệu có buộc trả lại thông tin xác thực OAuth đối với các lỗi sau hay không: FEDERATED_USER_ID_ALREADY_LINKED và EMAIL_EXISTS.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã liên kết chuỗi Mã nhận dạng duy nhất giúp xác định tài khoản IdP.
mã nhà cung cấp chuỗi Mã nhà cung cấp được liên kết (ví dụ: "google.com" cho nhà cung cấp Google).
mã nhận dạng cục bộ chuỗi URL của người dùng được xác thực.
emailĐã xác minh boolean Email đăng nhập đã được xác minh hay chưa.
email chuỗi Email của tài khoản.
Mã thông báo OAuth chuỗi Mã thông báo mã nhận dạng OIDC (nếu có).
OAuthAccessToken chuỗi Mã truy cập OAuth nếu có.
OAuthTokenSecret chuỗi Mã thông báo bí mật OAuth 1.0 nếu có.
Thông tin người dùng thô chuỗi Phản hồi JSON dạng chuỗi chứa tất cả dữ liệu IdP tương ứng với Thông tin đăng nhập OAuth.
tên chuỗi Tên của tài khoản.
họ chuỗi Họ của tài khoản.
tên đầy đủ chuỗi Tên đầy đủ của tài khoản.
Tên hiển thị chuỗi Tên hiển thị của tài khoản.
URL ảnh chuỗi URL ảnh cho tài khoản.
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase cho người dùng đã xác thực.
làm mới mã thông báo chuỗi Mã làm mới xác thực Firebase cho người dùng đã xác thực.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.
cần xác nhận boolean Liệu đã có một tài khoản khác có cùng thông tin đăng nhập hay chưa. Người dùng sẽ cần để đăng nhập vào tài khoản ban đầu, sau đó liên kết thông tin đăng nhập hiện tại với tài khoản đó.

Yêu cầu mẫu có mã thông báo mã OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết với người dùng đã xác thực.

Phản hồi mẫu có mã thông báo mã OAuth

{
  "federatedId": "https://accounts.google.com/1234567890",
  "providerId": "google.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthIdToken": "[GOOGLE_ID_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Yêu cầu mẫu có mã truy cập OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết với người dùng đã xác thực.

Phản hồi mẫu có mã truy cập OAuth

{
  "federatedId": "http://facebook.com/1234567890",
  "providerId": "facebook.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://scontent.xx.fbcdn.net/v/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Yêu cầu mẫu bằng thông tin đăng nhập OAuth 1.0 của Twitter

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết với người dùng đã xác thực.

Phản hồi mẫu có thông tin đăng nhập OAuth 1.0 của Twitter

{
  "federatedId": "http://twitter.com/1234567890",
  "providerId": "twitter.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]",
  "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "http://abs.twimg.com/sticky/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Các mã lỗi thường gặp

  • ACTIVITY_NOT_ALLOWED: Nhà cung cấp tương ứng đã bị tắt cho dự án này.
  • INVALID_IDP_reply: Thông tin xác thực được cung cấp không đúng định dạng hoặc đã hết hạn.

Tìm nạp nhà cung cấp email

Bạn có thể xem tất cả các nhà cung cấp liên kết với một email đã chỉ định bằng cách phát một HTTP Yêu cầu POST đến điểm cuối xác thực createAuthUri.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
giá trị nhận dạng chuỗi Địa chỉ email của người dùng
URI tiếp chuỗi URI mà IDP chuyển hướng người dùng quay lại. Đối với trường hợp sử dụng này, đây chỉ là URL hiện tại.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
allProvider Danh sách chuỗi Danh sách các nhà cung cấp mà người dùng đã đăng nhập trước đó.
đã đăng ký boolean Liệu email này có phải là của một tài khoản hiện có hay không

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi có chứa danh sách các nhà cung cấp liên kết với email đó.

Phản hồi mẫu

{
  "allProviders": [
    "password",
    "google.com"
  ],
  "registered": true
}

Các mã lỗi thường gặp

  • INVALID_EMAIL: Địa chỉ email có định dạng sai.

Gửi email đặt lại mật khẩu

Bạn có thể gửi email đặt lại mật khẩu bằng cách phát một HTTP Yêu cầu POST đến điểm cuối xác thực getOobConfirmationCode.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Tiêu đề không bắt buộc
Tên thuộc tính Mô tả
Ngôn ngữ X-Firebase Mã ngôn ngữ tương ứng với ngôn ngữ của người dùng. Việc chuyển mã này sẽ bản địa hoá email đặt lại mật khẩu được gửi cho người dùng.
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
requestType chuỗi Loại mã OOB cần trả về. Phải là "passwords_SETTING" để đặt lại mật khẩu.
email chuỗi Địa chỉ email của người dùng.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
email chuỗi Địa chỉ email của người dùng.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái.

Phản hồi mẫu

{
 "email": "[user@example.com]"
}

Các mã lỗi thường gặp

  • EMAIL_NOT_FOUND: Không có hồ sơ người dùng nào tương ứng với giá trị nhận dạng này. Người dùng có thể đã bị xóa.

Xác minh mã đặt lại mật khẩu

Bạn có thể xác minh mã đặt lại mật khẩu bằng cách phát hành một HTTP Yêu cầu POST đến điểm cuối xác thực resetPassword.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã oob chuỗi Mã hành động qua email được gửi đến email của người dùng để đặt lại mật khẩu.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
email chuỗi Địa chỉ email của người dùng.
requestType chuỗi Loại mã hành động liên quan đến email. Phải là "passwords_reset".

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái.

Phản hồi mẫu

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Các mã lỗi thường gặp

  • ACTIVITY_NOT_ALLOWED: Tính năng đăng nhập bằng mật khẩu bị tắt cho dự án này.
  • EXPIRED_OOB_CODE: Mã tác vụ đã hết hạn.
  • INVALID_OOB_CODE: Mã tác vụ không hợp lệ. Điều này có thể xảy ra nếu mã không đúng định dạng, đã hết hạn hoặc đã được sử dụng.

Xác nhận đặt lại mật khẩu

Bạn có thể áp dụng thay đổi đặt lại mật khẩu bằng cách phát hành một HTTP Yêu cầu POST đến điểm cuối xác thực resetPassword.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã oob chuỗi Mã hành động qua email được gửi đến email của người dùng để đặt lại mật khẩu.
newPassword chuỗi Mật khẩu mới của người dùng.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
email chuỗi Địa chỉ email của người dùng.
requestType chuỗi Loại mã hành động liên quan đến email. Phải là "passwords_reset".

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái.

Phản hồi mẫu

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Các mã lỗi thường gặp

  • ACTIVITY_NOT_ALLOWED: Tính năng đăng nhập bằng mật khẩu bị tắt cho dự án này.
  • EXPIRED_OOB_CODE: Mã tác vụ đã hết hạn.
  • INVALID_OOB_CODE: Mã tác vụ không hợp lệ. Điều này có thể xảy ra nếu mã không đúng định dạng, đã hết hạn hoặc đã được sử dụng.
  • USER_DISABLED: Tài khoản người dùng đã bị quản trị viên vô hiệu hoá.

Đổi email

Bạn có thể thay đổi email của người dùng bằng cách phát hành một HTTP Yêu cầu POST đến điểm cuối xác thực setAccountInfo.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Tiêu đề không bắt buộc
Tên thuộc tính Mô tả
Ngôn ngữ X-Firebase Mã ngôn ngữ tương ứng với ngôn ngữ của người dùng. Việc chuyển mã này sẽ bản địa hoá thu hồi thay đổi email được gửi đến người dùng.
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase cho người dùng.
email chuỗi Email mới của người dùng.
trả lại mã thông báo an toàn boolean Liệu có trả về một giá trị nhận dạng và mã làm mới hay không.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã nhận dạng cục bộ chuỗi URL của người dùng hiện tại.
email chuỗi Địa chỉ email của người dùng.
Hàm băm mật khẩu chuỗi Phiên bản băm của mật khẩu.
providerUserInfo Danh sách đối tượng JSON Danh sách tất cả đối tượng nhà cung cấp được liên kết có chứa "providerId" và " liên kếtId".
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase mới cho người dùng.
làm mới mã thông báo chuỗi Mã làm mới Xác thực Firebase.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[FIREBASE_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase mới và mã làm mới được liên kết với người dùng.

Phản hồi mẫu

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example2.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example2.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Các mã lỗi thường gặp

  • EMAIL_EXISTS: Địa chỉ email đã được một tài khoản khác sử dụng.
  • INVALID_ID_TOKEN:Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.

Đổi mật khẩu

Bạn có thể thay đổi mật khẩu của người dùng bằng cách phát hành một HTTP Yêu cầu POST đến điểm cuối xác thực setAccountInfo.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase cho người dùng.
mật khẩu chuỗi Mật khẩu mới của người dùng.
trả lại mã thông báo an toàn boolean Liệu có trả về một giá trị nhận dạng và mã làm mới hay không.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã nhận dạng cục bộ chuỗi URL của người dùng hiện tại.
email chuỗi Địa chỉ email của người dùng.
Hàm băm mật khẩu chuỗi Phiên bản băm của mật khẩu.
providerUserInfo Danh sách đối tượng JSON Danh sách tất cả đối tượng nhà cung cấp được liên kết có chứa "providerId" và " liên kếtId".
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase mới cho người dùng.
làm mới mã thông báo chuỗi Mã làm mới Xác thực Firebase.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[FIREBASE_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase mới và mã làm mới được liên kết với người dùng.

Phản hồi mẫu

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Các mã lỗi thường gặp

  • INVALID_ID_TOKEN:Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.
  • WEAK_Password: Mật khẩu phải dài từ 6 ký tự trở lên.

Cập nhật hồ sơ

Bạn có thể cập nhật hồ sơ của người dùng (tên hiển thị / URL ảnh) bằng cách cấp HTTP Yêu cầu POST đến điểm cuối xác thực setAccountInfo.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase cho người dùng.
Tên hiển thị chuỗi Tên hiển thị mới của người dùng.
URL ảnh chuỗi Url ảnh mới của người dùng.
xoáThuộc tính Danh sách chuỗi Danh sách thuộc tính cần xóa, "DISPLAY_NAME" hoặc "PHOTO_URL". Thao tác này sẽ làm mất hiệu lực giá trị.
trả lại mã thông báo an toàn boolean Liệu có trả về một giá trị nhận dạng và mã làm mới hay không.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã nhận dạng cục bộ chuỗi URL của người dùng hiện tại.
email chuỗi Địa chỉ email của người dùng.
Tên hiển thị chuỗi Tên hiển thị mới của người dùng.
URL ảnh chuỗi Url ảnh mới của người dùng.
Hàm băm mật khẩu chuỗi Phiên bản băm của mật khẩu.
providerUserInfo Danh sách đối tượng JSON Danh sách tất cả đối tượng nhà cung cấp được liên kết có chứa "providerId" và " liên kếtId".
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase mới cho người dùng.
làm mới mã thông báo chuỗi Mã làm mới Xác thực Firebase.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái.

Phản hồi mẫu

{
  "localId": "tRcfmLH...",
  "email": "user@example2.com",
  "displayName": "John Doe",
  "photoUrl": "[http://localhost:8080/img1234567890/photo.png]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example2.com",
      "displayName": "John Doe",
      "photoUrl": "http://localhost:8080/img1234567890/photo.png"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Các mã lỗi thường gặp

  • INVALID_ID_TOKEN:Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.

Lấy dữ liệu người dùng

Bạn có thể lấy dữ liệu của người dùng bằng cách phát hành một HTTP Yêu cầu POST đến điểm cuối xác thực getAccountInfo.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã Firebase của tài khoản.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
người-dùng Danh sách đối tượng JSON Tài khoản được liên kết với mã thông báo mã Firebase đã cung cấp. Hãy xem phần bên dưới để biết thêm thông tin chi tiết.
Tải trọng phản hồi (nội dung mảng users)
Tên thuộc tính Loại Mô tả
mã nhận dạng cục bộ chuỗi URL của người dùng hiện tại.
email chuỗi Email của tài khoản.
emailĐã xác minh boolean Email của tài khoản đó đã được xác minh hay chưa.
Tên hiển thị chuỗi Tên hiển thị của tài khoản.
providerUserInfo Danh sách đối tượng JSON Danh sách tất cả đối tượng nhà cung cấp được liên kết có chứa "providerId" và " liên kếtId".
URL ảnh chuỗi URL ảnh cho tài khoản.
Hàm băm mật khẩu chuỗi Phiên bản băm của mật khẩu.
Mật khẩu Đã cập nhật Lúc double Dấu thời gian, tính bằng mili giây, mà mật khẩu tài khoản được thay đổi lần gần đây nhất.
Có giá trị từ chuỗi Dấu thời gian (tính bằng giây) đánh dấu ranh giới, trước đó mã thông báo mã Firebase được xem là bị thu hồi.
đã vô hiệu boolean Tài khoản có bị vô hiệu hoá hay không.
lastLoginAt chuỗi Dấu thời gian, tính bằng mili giây, mà tài khoản đăng nhập lần gần đây nhất.
đã tạo vào chuỗi Dấu thời gian, tính bằng mili giây, mà tài khoản được tạo vào lúc đó.
customAuth boolean Liệu tài khoản có được nhà phát triển xác thực hay không.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi sẽ chứa tất cả thông tin người dùng liên quan đến tài khoản.

Phản hồi mẫu

{
  "users": [
    {
      "localId": "ZY1rJK0...",
      "email": "user@example.com",
      "emailVerified": false,
      "displayName": "John Doe",
      "providerUserInfo": [
        {
          "providerId": "password",
          "displayName": "John Doe",
          "photoUrl": "http://localhost:8080/img1234567890/photo.png",
          "federatedId": "user@example.com",
          "email": "user@example.com",
          "rawId": "user@example.com",
          "screenName": "user@example.com"
        }
      ],
      "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
      "passwordHash": "...",
      "passwordUpdatedAt": 1.484124177E12,
      "validSince": "1484124177",
      "disabled": false,
      "lastLoginAt": "1484628946000",
      "createdAt": "1484124142000",
      "customAuth": false
    }
  ]
}

Các mã lỗi thường gặp

  • INVALID_ID_TOKEN:Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.
  • USER_NOT_FOUND: Không có hồ sơ người dùng nào tương ứng với giá trị nhận dạng này. Người dùng có thể đã bị xóa.

Bạn có thể liên kết email/mật khẩu đến người dùng hiện tại bằng cách phát một HTTP Yêu cầu POST đến điểm cuối xác thực setAccountInfo.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã Firebase của tài khoản mà bạn đang cố gắng liên kết thông tin đăng nhập.
email chuỗi Email để liên kết với tài khoản.
mật khẩu chuỗi Mật khẩu mới của tài khoản.
trả lại mã thông báo an toàn chuỗi Liệu có trả về một giá trị nhận dạng và mã làm mới hay không. Phải luôn là đúng.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã nhận dạng cục bộ chuỗi URL của người dùng hiện tại.
email chuỗi Email của tài khoản.
Tên hiển thị chuỗi Tên hiển thị của tài khoản.
URL ảnh chuỗi URL ảnh cho tài khoản.
Hàm băm mật khẩu chuỗi Phiên bản băm của mật khẩu.
providerUserInfo Danh sách đối tượng JSON Danh sách tất cả đối tượng nhà cung cấp được liên kết có chứa "providerId" và " liên kếtId".
emailĐã xác minh boolean Email của tài khoản đó đã được xác minh hay chưa.
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase mới cho người dùng.
làm mới mã thông báo chuỗi Mã làm mới Xác thực Firebase.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo nhận dạng Firebase và mã làm mới được liên kết với người dùng đã xác thực.

Phản hồi mẫu

{
  "localId": "huDwUz...",
  "email": "user@example.com",
  "displayName": "John Doe",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ],
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "emailVerified": false
}

Các mã lỗi thường gặp

  • CREDENTIAL_TOO_OLD_LOGIN_ Music: Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải hãy đăng nhập lại.
  • TOKEN_EXPIRED: Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.
  • INVALID_ID_TOKEN:Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.
  • WEAK_Password: Mật khẩu phải dài từ 6 ký tự trở lên.

Bạn có thể liên kết thông tin đăng nhập OAuth với người dùng bằng cách gửi một HTTP Yêu cầu POST đến điểm cuối xác thực verifyAssertion.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã Firebase của tài khoản mà bạn đang cố gắng liên kết thông tin đăng nhập.
requestUri chuỗi URI mà IDP chuyển hướng người dùng quay lại.
Nội dung bài đăng chuỗi Chứa thông tin đăng nhập OAuth (mã thông báo nhận dạng hoặc mã truy cập) và mã nhà cung cấp gây ra vấn đề chứng chỉ danh tính.
trả lại mã thông báo an toàn boolean Liệu có trả về một giá trị nhận dạng và mã làm mới hay không. Phải luôn là đúng.
Thông tin xác thực trả về boolean Liệu có buộc trả lại thông tin xác thực OAuth đối với các lỗi sau hay không: FEDERATED_USER_ID_ALREADY_LINKED và EMAIL_EXISTS.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã liên kết chuỗi Mã nhận dạng duy nhất giúp xác định tài khoản IdP.
mã nhà cung cấp chuỗi Mã nhà cung cấp được liên kết (ví dụ: "google.com" cho nhà cung cấp Google).
mã nhận dạng cục bộ chuỗi URL của người dùng được xác thực.
emailĐã xác minh boolean Email đăng nhập có được xác minh hay không.
email chuỗi Email của tài khoản.
Mã thông báo OAuth chuỗi Mã thông báo mã nhận dạng OIDC (nếu có).
OAuthAccessToken chuỗi Mã truy cập OAuth nếu có.
OAuthTokenSecret chuỗi Mã thông báo bí mật OAuth 1.0 nếu có.
Thông tin người dùng thô chuỗi Phản hồi JSON dạng chuỗi chứa tất cả dữ liệu IdP tương ứng với Thông tin đăng nhập OAuth.
tên chuỗi Tên của tài khoản.
họ chuỗi Họ của tài khoản.
tên đầy đủ chuỗi Tên đầy đủ của tài khoản.
Tên hiển thị chuỗi Tên hiển thị của tài khoản.
URL ảnh chuỗi URL ảnh cho tài khoản.
mã thông báo id chuỗi Mã thông báo mã xác thực Firebase cho người dùng đã xác thực.
làm mới mã thông báo chuỗi Mã làm mới xác thực Firebase cho người dùng đã xác thực.
hết hạn sau chuỗi Số giây mà mã thông báo giá trị nhận dạng hết hạn.

Yêu cầu mẫu có mã thông báo mã OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết với người dùng đã xác thực.

Phản hồi mẫu có mã thông báo mã OAuth

{
  "federatedId": "https://accounts.google.com/1234567890",
  "providerId": "google.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthIdToken": "[GOOGLE_ID_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Yêu cầu mẫu có mã truy cập OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[FIREBASE_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết với người dùng đã xác thực.

Phản hồi mẫu có mã truy cập OAuth

{
  "federatedId": "http://facebook.com/1234567890",
  "providerId": "facebook.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://scontent.xx.fbcdn.net/v/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Yêu cầu mẫu bằng thông tin đăng nhập OAuth 1.0 của Twitter

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái. Phản hồi chứa mã thông báo mã nhận dạng Firebase và mã làm mới được liên kết với người dùng đã xác thực.

Phản hồi mẫu có thông tin đăng nhập OAuth 1.0 của Twitter

{
  "federatedId": "http://twitter.com/1234567890",
  "providerId": "twitter.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]",
  "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "http://abs.twimg.com/sticky/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Các mã lỗi thường gặp

  • ACTIVITY_NOT_ALLOWED: Nhà cung cấp tương ứng đã bị tắt cho dự án này.
  • INVALID_IDP_reply: Thông tin xác thực được cung cấp không đúng định dạng hoặc đã hết hạn.
  • INVALID_ID_TOKEN:Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.
  • EMAIL_EXISTS: Địa chỉ email đã được một tài khoản khác sử dụng.
  • FEDERATED_USER_ID_ALREADY_LINKED: Thông tin đăng nhập này đã được liên kết với một tên miền khác tài khoản người dùng.

Bạn có thể huỷ liên kết nhà cung cấp khỏi người dùng hiện tại bằng cách gửi HTTP Yêu cầu POST đến điểm cuối xác thực setAccountInfo.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã Firebase của tài khoản.
xóaProvider Danh sách chuỗi Danh sách mã nhận dạng nhà cung cấp cần huỷ liên kết, ví dụ: "google.com", "password", v.v.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã nhận dạng cục bộ chuỗi URL của người dùng hiện tại.
email chuỗi Email của tài khoản.
Tên hiển thị chuỗi Tên hiển thị của tài khoản.
URL ảnh chuỗi URL ảnh cho tài khoản.
Hàm băm mật khẩu chuỗi Phiên bản băm của mật khẩu.
providerUserInfo Danh sách đối tượng JSON Danh sách tất cả đối tượng nhà cung cấp được liên kết có chứa "providerId" và " liên kếtId".
emailĐã xác minh boolean Email của tài khoản đó đã được xác minh hay chưa.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"idToken":"[FIREBASE_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái.

Phản hồi mẫu

{
  "localId": "huDwUz...",
  "email": "user@example.com",
  "displayName": "John Doe",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "google.com",
      "federatedId": "1234567890",
      "displayName": "John Doe",
      "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg"
    },
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ],
  "emailVerified": "true"
}

Các mã lỗi thường gặp

  • INVALID_ID_TOKEN: Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.

Gửi email xác minh

Bạn có thể gửi xác minh email cho người dùng hiện tại bằng cách phát một HTTP Yêu cầu POST đến điểm cuối xác thực getOobConfirmationCode.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Tiêu đề không bắt buộc
Tên thuộc tính Mô tả
Ngôn ngữ X-Firebase Mã ngôn ngữ tương ứng với ngôn ngữ của người dùng. Việc chuyển mã này sẽ bản địa hoá email xác minh được gửi đến người dùng.
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
requestType chuỗi Loại mã xác nhận cần gửi. Phải luôn là "XÁC MINH_EMAIL".
mã thông báo id chuỗi Mã thông báo mã Firebase của người dùng cần xác minh.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
email chuỗi Email của tài khoản.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái.

Phản hồi mẫu

{
  "email": "user@example.com"
}

Các mã lỗi thường gặp

  • INVALID_ID_TOKEN: Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.
  • USER_NOT_FOUND: Không có hồ sơ người dùng nào tương ứng với giá trị nhận dạng này. Người dùng có thể đã bị xóa.

Xác nhận xác minh email

Bạn có thể xác nhận mã xác minh email bằng cách phát một HTTP Yêu cầu POST đến điểm cuối xác thực setAccountInfo.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã oob chuỗi Mã hành động được gửi đến email của người dùng để xác minh qua email.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
email chuỗi Email của tài khoản.
Tên hiển thị chuỗi Tên hiển thị của tài khoản.
URL ảnh chuỗi URL ảnh cho tài khoản.
Hàm băm mật khẩu chuỗi Hàm băm mật khẩu.
providerUserInfo Danh sách đối tượng JSON Danh sách tất cả đối tượng nhà cung cấp được liên kết có chứa "providerId" và " liên kếtId".
emailĐã xác minh boolean Email của tài khoản đó đã được xác minh hay chưa.

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái.

Phản hồi mẫu

{
  "localId": "FhyStE...",
  "email": "user@example.com",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ]
}

Các mã lỗi thường gặp

  • EXPIRED_OOB_CODE: Mã tác vụ đã hết hạn.
  • INVALID_OOB_CODE: Mã tác vụ không hợp lệ. Điều này có thể xảy ra nếu mã không đúng định dạng, đã hết hạn hoặc đã được sử dụng.
  • USER_DISABLED: Tài khoản người dùng đã bị quản trị viên vô hiệu hoá.
  • EMAIL_NOT_FOUND: Không có hồ sơ người dùng nào tương ứng với giá trị nhận dạng này. Người dùng có thể đã bị xóa.

Xoá tài khoản

Bạn có thể xoá người dùng hiện tại bằng cách cấp một HTTP Yêu cầu POST đến điểm cuối xác thực deleteAccount.

Phương thức: POST

Loại nội dung: ứng dụng/json

Điểm cuối
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
mã thông báo id chuỗi Mã thông báo mã Firebase của người dùng cần xoá.
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả

Yêu cầu mẫu

curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'

Yêu cầu thành công được biểu thị bằng một HTTP 200 OK mã trạng thái.

Các mã lỗi thường gặp

  • INVALID_ID_TOKEN:Thông tin đăng nhập của người dùng không còn hợp lệ. Người dùng phải đăng nhập lại.
  • USER_NOT_FOUND: Không có hồ sơ người dùng nào tương ứng với giá trị nhận dạng này. Người dùng có thể đã bị xóa.

Trình mô phỏng xác thực Firebase

Bộ công cụ mô phỏng cục bộ của Firebase bao gồm Trình mô phỏng xác thực, có thể dùng để tạo nguyên mẫu và kiểm thử cục bộ các luồng xác thực. Trình mô phỏng hiển thị REST sau đây điểm cuối.

Xoá tài khoản người dùng

Hãy xoá tất cả tài khoản trong dự án đã chỉ định, bất kể trạng thái.

Phương thức: DELETE

Điểm cuối

Lưu ý rằng 9099 là cổng mặc định cho Trình mô phỏng xác thực. Kiểm tra thiết bị đầu cuối cho cổng thực tế đang được sử dụng.

http://localhost:9099/emulator/v1/projects/{project-id}/accounts

Nhận cấu hình trình mô phỏng

Nhận cấu hình dành riêng cho trình mô phỏng cho dự án đã chỉ định.

Phương thức: GET

Điểm cuối

Lưu ý rằng 9099 là cổng mặc định cho Trình mô phỏng xác thực. Kiểm tra thiết bị đầu cuối cho cổng thực tế đang được sử dụng.

http://localhost:9099/emulator/v1/projects/{project-id}/config
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
đăng nhập đối tượng đối tượng cấu hình signIn chứa một khoá duy nhất là allowDuplicateEmails (boolean).

Cấu hình trình mô phỏng bản vá

Cập nhật cấu hình dành riêng cho trình mô phỏng cho dự án được chỉ định.

Phương thức: PATCH

Điểm cuối

Lưu ý rằng 9099 là cổng mặc định cho Trình mô phỏng xác thực. Kiểm tra thiết bị đầu cuối cho cổng thực tế đang được sử dụng.

Loại nội dung: ứng dụng/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
Yêu cầu tải trọng nội dung
Tên thuộc tính Loại Mô tả
đăng nhập đối tượng Đối tượng cấu hình đăng nhập mong muốn với một khoá, allowDuplicateEmails (boolean).
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
đăng nhập đối tượng Đối tượng cấu hình đăng nhập sau khi yêu cầu bằng một khoá, allowDuplicateEmails (boolean).

Truy xuất mã xác thực ngoài băng tần

Nếu quy trình xác thực mà bạn đang thử nghiệm thường tạo mã ngoài băng tần (ví dụ: mã xác minh email, mã đặt lại mật khẩu), trình mô phỏng lưu trữ các mã đó nội bộ cho đến chúng sẽ được sử dụng.

Phương thức: GET

Điểm cuối

Lưu ý rằng 9099 là cổng mặc định cho Trình mô phỏng xác thực. Kiểm tra thiết bị đầu cuối cho cổng thực tế đang được sử dụng.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
Mã oob mảng Một mảng các đối tượng chứa thông tin chi tiết về tất cả các mã xác nhận đang chờ xử lý. Mỗi đối tượng chứa email (chuỗi), oobCode (chuỗi), oobLink (chuỗi) và requestType (chuỗi)

Truy xuất mã xác minh qua SMS

Nếu bạn đang kiểm thử quy trình xác thực qua điện thoại/SMS, trình mô phỏng sẽ lưu trữ các mã SMS đó trong nội bộ cho đến khi chúng được sử dụng.

Phương thức: GET

Điểm cuối

Lưu ý rằng 9099 là cổng mặc định cho Trình mô phỏng xác thực. Kiểm tra thiết bị đầu cuối cho cổng thực tế đang được sử dụng.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Tải trọng của câu trả lời
Tên thuộc tính Loại Mô tả
mã xác minh mảng Một mảng đối tượng chứa thông tin chi tiết về tất cả các mã xác minh đang chờ xử lý. Mỗi đối tượng chứa phoneNumber (chuỗi) và sessionCode (chuỗi).

Phản hồi về Lỗi

Định dạng phản hồi lỗi

Bất cứ khi nào một lỗi được máy chủ phụ trợ trả về cho bất kỳ API nào ở trên, phản hồi sẽ có định dạng như sau.

Phản hồi mẫu

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalid",
        "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
      }
    ],
    "code": 400,
    "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
  }
}

Mã lỗi được lấy từ trường tin nhắn. Tất cả mã lỗi trên đề cập đến việc nội dung của trường tin nhắn.