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ốihttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
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ê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ốihttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
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ê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ốihttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Tên thuộc tính | Loại | Mô tả |
---|---|---|
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ê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. |
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Tên thuộc tính | Loại | Mô tả |
---|---|---|
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ê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. |
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
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ê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. |
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
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ê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. |
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
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ê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ốihttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
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. |
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. |
chuỗi | Địa chỉ email của người dùng. |
Tên thuộc tính | Loại | Mô tả |
---|---|---|
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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ên thuộc tính | Loại | Mô tả |
---|---|---|
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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ên thuộc tính | Loại | Mô tả |
---|---|---|
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
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. |
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ê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. |
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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ê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. |
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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ê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. |
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
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ê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. |
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. |
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.
Liên kết với email/mật khẩu
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
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ê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. |
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.
Liên kết bằng thông tin đăng nhập OAuth
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
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ê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. |
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.
Huỷ liên kết nhà cung cấp
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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ê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. |
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
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. |
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ên thuộc tính | Loại | Mô tả |
---|---|---|
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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ên thuộc tính | Loại | Mô tả |
---|---|---|
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ốihttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
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ê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ê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
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ê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ê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ê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.