Sign Up
Mutation · register
register(input: RegisterInput!): Boolean!
Tạo tài khoản bằng email và mật khẩu. Tài khoản mới chỉ đăng nhập được sau khi người dùng mở liên kết xác minh email. register không tạo phiên hoặc trả token. Nếu việc gửi email thất bại sau khi tạo tài khoản, mutation vẫn có thể trả thành công; khi đó có thể gọi resendVerificationEmail.
Gửi qua HTTP POST /graphql. Không cần xác thực hoặc quyền thành viên workspace/conversation. Các mutation xác thực dùng chung giới hạn 20 lần/phút theo IP trên mỗi tiến trình API; vượt giới hạn trả RATE_LIMITED.
Input
| Đối số | Kiểu GraphQL | Bắt buộc | Ý nghĩa |
|---|---|---|---|
input | RegisterInput! | Có | Thông tin tài khoản; schema không khai báo giá trị mặc định. |
RegisterInput
| Trường | Kiểu GraphQL | Bắt buộc | Quy tắc |
|---|---|---|---|
username | String! | Có | Từ 3 đến 32 ký tự; chỉ chữ cái ASCII, chữ số hoặc _. Server lưu dạng chữ thường; phải duy nhất. |
displayName | String! | Có | Từ 1 đến 80 ký tự; server bỏ khoảng trắng hai đầu và từ chối nếu còn rỗng. |
email | String! | Có | Email hợp lệ, tối đa 254 ký tự; server lưu dạng chữ thường. Email đã xác minh không thể đăng ký lại. |
password | String! | Có | Từ 12 đến 72 ký tự và không quá 72 byte UTF-8. |
Mọi trường đều là !: không thể bỏ qua hoặc gửi null. Đăng ký lại một email chỉ có danh tính mật khẩu chưa xác minh sẽ thay tài khoản cũ và vô hiệu liên kết xác minh cũ. Username hoặc email đã thuộc tài khoản không thể thay thế trả CONFLICT.
Output
Trả về Boolean!. true nghĩa là tài khoản chưa xác minh đã được tạo và quá trình gửi email đã bắt đầu; kết quả không chứa token. Liên kết xác minh có hiệu lực 24 giờ và dùng một lần.
Ví dụ
mutation SignUp($input: RegisterInput!) {
register(input: $input)
}
Biến:
{
"input": {
"username": "lan_nguyen",
"displayName": "Lan Nguyễn",
"email": "[email protected]",
"password": "example-password-123"
}
}
Phản hồi minh họa:
{ "data": { "register": true } }
Đầu vào sai quy tắc trả BAD_USER_INPUT, có thể kèm extensions.fieldErrors. Gọi login trước khi xác minh email trả EMAIL_NOT_VERIFIED nếu mật khẩu đúng.
Chữ ký operation được tạo từ GraphQL schema.