Register
This document is automatically generated based on https://github.com/authing/authing-docs-factory based on https://api-explorer.genauth.ai V3 API, and is consistent with API parameters and return results. If the description of this document is incorrect, please refer to V3 API.
This endpoint currently supports the following registration methods based on:
Based on password (PASSWORD): username + password, email + password.
Based on one-time temporary verification code (PASSCODE): mobile phone number + verification code, email + verification code. You need to call the send SMS or send email interface to get the verification code first.
For social login and other external identity source "registration", please use the Login interface directly, and we will create a new account for it when it logs in for the first time.
Method name
AuthenticationClient.signUp
Request parameters
| Name | Type | Is it required | Default value | Description | Sample value |
|---|---|---|---|---|---|
| connection | string | Yes | - | Registration method: - PASSWORD: Email password method- PASSCODE: Email/mobile phone verification code method | PASSWORD |
| passwordPayload | <a SignUpByPasswordDto | No | - | This parameter is required when the registration method is PASSWORD. | {"email":"test@example.com","password":"passw0rd"} |
| passCodePayload | <a SignUpByPassCodeDto | No | - | This parameter is required when the authentication method is PASSCODE | {"email":"test@example.com","passCode":"passw0rd"} |
| profile | <a SignUpProfileDto | No | - | User profile | |
| options | <a SignUpOptionsDto | No | - | Optional parameters |
Sample code
import { AuthenticationClient, Models } from "authing-node-sdk";
const authenticationClient = new AuthenticationClient({
// Need to be replaced with your GenAuth AppId, Secret and Host appId: "GEN_AUTH_APP_ID", appSecret: "GEN_AUTH_APP_SECRET", appHost: "GEN_AUTH_APP_HOST", }); (async () => { const result = await authenticationClient.signUp({ connection: Models.SignUpDto.connection.PASSWORD, passwordPayload: { password: "passw0rd", email: "test-user@example.com", }, profile: { nickname: "", company: "GenAuth.Inc", photo: "https://www.genauth.ai/demo.jpg", device: "iOS", browser: "Edge", name: "Mike", givenName: "Zhou", familyName: "Jay", middleName: "Jane", profile: "this is my profile", preferredUsername: "Mike", website: "https://www.genauth.ai",
birthdate: "2020.2.2",
zoneinfo: "HongKong",
locale: "EN-US",
address: "Hai Dian XX",
formatted: "",
streetAddress: "Hai Dian Street 1",
locality: "BeiJing HaiDian",
region: "china",
postalCode: "3500000",
country: "china",
customData: {
name: "H",
},
},
});
console.log(JSON.stringify(result, null, 2));
})();Request response
Type: UserSingleRespDto
| Name | Type | Description |
|---|---|---|
| statusCode | number | Business status code, which can be used to determine whether the operation is successful. 200 means success. |
| message | string | Description |
| apiCode | number | Segmented error code, which can be used to get the specific error type (successful request does not return). For a detailed list of error codes, see: API Code List |
| requestId | string | Request ID. Returned when the request fails. |
| data | <a UserDto | Response data |
Sample result:
{
"statusCode": 200,
"message": "Operation successful",
"requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
"data": {
"userId": "6229ffaxxxxxxxxcade3e3d9",
"createdAt": "2022-07-03T03:20:30.000Z",
"updatedAt": "2022-07-03T03:20:30.000Z",
"status": "Activated",
"workStatus": "Active",
"externalId": "10010",
"email": "test@example.com",
"phone": "188xxxx8888",
"phoneCountryCode": "+86",
"username": "bob",
"name": "Zhang San",
"nickname": "xxxx",
"photo": "https://files.authing.co/authing-console/default-user-avatar.png",
"loginsCount": 3,
"lastLogin": "2022-07-03T03:20:30.000Z",
"lastIp": "127.0.0.1",
"gender": "M",
"emailVerified": true,
"phoneVerified": true,
"passwordLastSetAt": "2022-07-03T03:20:30.000Z",
"birthdate": "2022-06-03",
"country": "CN",
"province": "BJ",
"city": "BJ",
"address": "Beijing Chaoyang",
"streetAddress": "Beijing Chaoyang District xxx Street",
"postalCode": "438100",
"company": "steamory",
"browser": "Mozilla/5.0 (Linux; Android 10; V2001A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36 VivoBrowser/10.2.10.0",
"device": "iOS",
"givenName": "xx",
"familyName": "xx",
"middleName": "James",
"profile": "alice",
"preferredUsername": "alice",
"website": "https://my-website.com",
"zoneinfo": "GMT-08:00",
"locale": "af",
"formatted": "132, My Street, Kingston, New York 12401.",
"region": "Xinjiang Uyghur Autonomous Region",
"userSourceType": "register",
"passwordSecurityLevel": 1,
"departmentIds": "[\"624d930c3xxxx5c08dd4986e\",\"624d93102xxxx012f33cd2fe\"]",
"identities": {
"identityId": "62299d8b866d2dab79a89dc4",
"extIdpId": "6076bacxxxxxxxxd80d993b5",
"provider": "wechat",
"type": "openid",
"userIdInIdp": "oj7Nq05R-RRaqak0_YlMLnnIwsvg",
"accessToken": "57_fK0xgSL_NwVlS-gmUwlMQ2N6AONNIOAYxxxx",
"refreshToken": "57_IZFu91Ak1Wg6DRytZFFIOd3upNF5lH7vPxxxxx",
"originConnIds": "[\"605492ac41xxxxe0362f0707\"]"
},
"identityNumber": "420421xxxxxxxx1234",
"customData": {
"school": "Peking University",
"age": 22
},
"statusChangedAt": "2022-07-03T03:20:30.000Z"
}
}Data structure
SignUpByPasswordDto
| Name | Type | Is it required? | Description | Sample value |
|---|---|---|---|---|
| password | string | Yes | User password, unencrypted by default. All GenAuth APIs transmit passwords securely via HTTPS, which can ensure security to a certain extent. If you need a higher level of security, we also support RSA256 and national secret SM2 password encryption methods. For details, see the optional parameter options.passwordEncryptType. | passw0rd |
| username | string | No | Username | test |
| string | No | Email address, case insensitive. | test@example.com |
SignUpByPassCodeDto
| Name | Type | Is it required? | Description | Example value |
|---|---|---|---|---|
| passCode | string | Yes | A one-time temporary verification code. You need to first call the send SMS or send email interface to obtain the verification code. | 123456 |
| string | No | Email address, case insensitive. | 114114 | |
| phone | string | No | Mobile phone number | 188xxxx8888 |
| phoneCountryCode | string | No | Mobile phone area code. It is optional for mobile phone numbers in mainland China. The GenAuth SMS service does not currently support international mobile phone numbers. You need to configure the corresponding international SMS service in the GenAuth console. For a complete list of mobile phone area codes, please refer to https://en.wikipedia.org/wiki/List_of_country_calling_codes. | +86 |
SignUpProfileDto
| Name | Type | Is it required? | Description | Sample value |
|---|---|---|---|---|
| nickname | string | No | Nickname | |
| company | string | No | Company | GenAuth .Inc |
| photo | string | No | Avatar | https://www.genauth.ai/demo.jpg |
| device | string | No | Device | iOS |
| browser | string | No | Browser | Edge |
| name | string | No | Name | Mike |
| givenName | string | no | First Name | Zhou |
| familyName | string | no | Last Name | Jay |
| middleName | string | no | Middle Name | Jane |
| profile | string | no | Profile | this is my profile |
| preferredUsername | string | no | Preferred Username | Mike |
| website | string | no | website | https://www.genauth.ai |
| gender | string | no | gender W : female; M : male | M |
| birthdate | string | no | birthday | 2020.2.2 |
| zoneinfo | string | no | region | HongKong |
| locale | string | no | language region | EN-US |
| address | string | no | address | Hai Dian XX |
| formatted | string | no | format | |
| streetAddress | string | no | street address | Hai Dian Street 1 |
| locality | string | no | location | BeiJing HaiDian |
| region | string | no | region | china |
| postalCode | string | no | postal code | 3500000 |
| country | string | no | country | china |
| string | No | User email address. If you want to complete the email address, you must pass the email verification code in options.emailPassCodeForInformationCompletion. You can use the /api/v3/send-email interface to send the email verification code. | help@genauth.ai | |
| phone | string | No | User phone number. If you want to complete the phone number, you must pass the phone number verification code in options.phonePassCodeForInformationCompletion. You can use the /api/v3/send-sms interface to send the phone number verification code. | 114114114 |
| customData | object | No | User-defined field | {"name":"H"} |
SignUpOptionsDto
| Name | Type | Required | Description | Sample value | | ------------------------------------- | ------ | -------------------------------------- | -------------------------- ...--------- | ------------------------------------- | | clientIp | string | No | Client IP | 192.168.0.1 | | phonePassCodeForInformationCompletion | string | No | SMS verification code used to complete user information during registration | 1234 | | emailPassCodeForInformationCompletion | string | No | Email verification code used to verify the user during registration | 1234 | | context | object | Yes | Additional parameters passed during login/registration, which will be stored in the user-defined field | | | passwordEncryptType | string | No | Password encryption type, supports encryption using RSA256 and SM2 algorithms. The default is none, which means no encryption.
- none: Do not encrypt the password, and use plain text for transmission.
- rsa: Use the RSA256 algorithm to encrypt the password. You need to use the RSA public key of the GenAuth service for encryption. Please read the Introduction section to learn how to obtain the RSA256 public key of the GenAuth service.
- sm2: Use the National Secret SM2 Algorithm to encrypt the password. You need to use the SM2 public key of the GenAuth service for encryption. Please read the Introduction section to learn how to obtain the SM2 public key of the GenAuth service.
| sm2 |
UserDto
| Name | Type | Required | Description | Sample value |
|---|---|---|---|---|
| userId | string | Yes | The unique identifier of the user, which can be user ID, user name, email address, mobile phone number, externalId, or ID in an external identity source. For details, see the description of the userIdType field. The default is user id. | 6229ffaxxxxxxxxcade3e3d9 |
| createdAt | string | yes | creation time | 2022-07-03T03:20:30.000Z |
| updatedAt | string | yes | update time | 2022-07-03T03:20:30.000Z |
| status | string | yes | Current status of the account: - Activated: Normal status - Suspended: Deactivated - Deactivated: Disabled - Resigned: Resigned - Archived: Archived | Suspended |
| workStatus | string | yes | Current work status of the account | Closed |
| externalId | string | no | Third-party external ID | 10010 |
| string | no | Email address, case insensitive | test@example.com | |
| phone | string | no | Mobile phone number without area code. If it is an overseas mobile phone number, please specify the area code in the phoneCountryCode parameter. | 188xxxx8888 |
| phoneCountryCode | string | no | Mobile phone area code, which can be left blank for mobile phone numbers in mainland China. The GenAuth SMS service does not currently support international mobile phone numbers. You need to configure the corresponding international SMS service in the GenAuth console. For a complete list of mobile area codes, see https://en.wikipedia.org/wiki/List_of_country_calling_codes. | +86 |
| username | string | No | Username, unique in the user pool | bob |
| name | string | No | User's real name, not unique | Zhang San |
| nickname | string | No | Nickname | Zhang San |
| photo | string | No | Avatar link | https://files.authing.co/authing-console/default-user-avatar.png |
| loginsCount | number | No | Total number of historical logins | 3 |
| lastLogin | string | No | Last login time | 2022-07-03T03:20:30.000Z |
| lastIp | string | no | Last login IP | 127.0.0.1 |
| gender | string | yes | Gender: - M: Male- F: Female- U: Unknown | M |
| emailVerified | boolean | yes | Email verified | true |
| phoneVerified | boolean | yes | Phone number verified | true |
| passwordLastSetAt | string | no | User's last password modification time | 2022-07-03T03:20:30.000Z |
| birthdate | string | no | Date of birth | 2022-06-03 |
| country | string | no | Country | CN |
| province | string | No | Province | BJ |
| city | string | No | City | BJ |
| address | string | No | Address | Beijing Chaoyang |
| streetAddress | string | No | Street Address | Beijing Chaoyang District xxx Street |
| postalCode | string | no | Postal code | 438100 |
| company | string | no | Company | steamory |
| browser | string | no | Last login browser UA | Mozilla/5.0 (Linux; Android 10; V2001A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36 VivoBrowser/10.2.10.0 |
| device | string | no | Last login device | iOS |
| givenName | string | no | First name | San |
| familyName | string | no | Last name | Zhang |
| middleName | string | no | Middle name | James |
| profile | string | no | Preferred Username | alice |
| preferredUsername | string | no | Preferred Username | alice |
| website | string | no | User personal website | https://my-website.com |
| zoneinfo | string | no | User time zone information | GMT-08:00 |
| locale | string | No | Locale | af |
| formatted | string | No | Standard full address | 132, My Street, Kingston, New York 12401. |
| region | string | No | User's region | Xinjiang Uyghur Autonomous Region |
| userSourceType | string | Yes | Source type: - excel: Imported via excel- register: User self-registration- adminCreated: Manual creation by the administrator backend (including creating users using the management API)- syncTask: Sync task in the sync center | excel |
| userSourceId | string | No | Application ID or sync task ID | |
| lastLoginApp | string | No | Application ID of the user's last login | |
| mainDepartmentId | string | No | User's main department ID | |
| lastMfaTime | string | No | The last time the user performed MFA Authentication time | |
| passwordSecurityLevel | number | No | User password security strength level | 1 |
| resetPasswordOnNextLogin | boolean | No | Require password reset on next login | |
| registerSource | array | No | Registration method | |
| departmentIds | array | No | User department ID list | ["624d930c3xxxx5c08dd4986e","624d93102xxxx012f33cd2fe"] |
| identities | array | no | External identity source Nested type: <a IdentityDto. | |
| identityNumber | string | No | User ID number | 420421xxxxxxxx1234 |
| customData | object | No | User's extended field data | {"school":"Peking University","age":22} |
| postIdList | array | No | User's associated department ID | |
| statusChangedAt | string | No | User status last modified time | 2022-07-03T03:20:30.000Z |
| tenantId | string | No | User tenant ID |
IdentityDto
| Name | Type | Is it required | Description | Sample value |
|---|---|---|---|---|
| identityId | string | yes | Identity source ID | 62299d8b866d2dab79a89dc4 |
| extIdpId | string | yes | Identity source connection ID | 6076bacxxxxxxxxd80d993b5 |
| provider | string | yes | External identity source type: - wechat: WeChat- qq: QQ- wechatwork: WeChat for Business- dingtalk: DingTalk- weibo: Weibo- github: GitHub- alipay: Alipay- baidu: Baidu- lark: Feishu- welink: Welink- yidun: NetEase Yidun- qingcloud: Qingyun- google: Google- gitlab: GitLab- gitee: Gitee- twitter: Twitter- facebook: Facebook- slack: Slack- linkedin: Linkedin- instagram: Instagram- oidc: OIDC-based enterprise identity source- oauth2: OAuth2-based enterprise identity source- saml: SAML-based enterprise identity source- ldap: LDAP-based enterprise identity source- ad: AD-based enterprise identity source- cas: CAS-based enterprise identity source- azure-ad: Azure AD-based enterprise identity source | oidc |
| type | string | yes | Identity type, such as unionid, openid, primary | openid |
| userIdInIdp | string | yes | ID in the external identity source | oj7Nq05R-RRaqak0_YlMLnnIwsvg |
| userInfoInIdp | object | yes | User's identity information in idp | |
| accessToken | string | no | Access Token in the external identity source (this parameter is only returned when the user actively obtains it, and the management side interface will not return it). | 57_fK0xgSL_NwVlS-gmUwlMQ2N6AONNIOAYxxxx |
| refreshToken | string | no | Refresh Token in the external identity source (this parameter is only returned when the user actively obtains it, and the management interface will not return it). | 57_IZFu91Ak1Wg6DRytZFFIOd3upNF5lH7vPxxxxx |
| originConnIds | array | yes | Identity source connection ID list from which the identity comes | ["605492ac41xxxxe0362f0707"] |