Username and password registration
Register with username + password.
Request parameters
| Name | Type | Is it required | Default value | Description | Sample value |
|---|---|---|---|---|---|
| username | String | Yes | - | Username | test |
| password | String | Yes | - | User password, not encrypted by default. All GenAuth APIs transmit passwords securely via the HTTPS protocol, which can ensure security to a certain extent. If you need a higher level of security, we also support RSA256 and the national secret SM2 password encryption method. For details, see the optional parameter options.passwordEncryptType. | 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 replace 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.signUpByUsernamePassword({
username: "test-user",
password: "passw0rd",
profile: {
name: "xxxx",
nickname: "xxxx",
},
});
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. |
| requestId | string | Request ID. It will be 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-03T02:20:30.000Z",
"updatedAt": "2022-07-03T02:20:30.000Z",
"status": "Activated",
"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-03T02:20:30.000Z",
"lastIp": "127.0.0.1",
"gender": "M",
"emailVerified": true,
"phoneVerified": true,
"passwordLastSetAt": "2022-07-03T02: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",
"userSourceType": "register",
"passwordSecurityLevel": 1,
"departmentIds": "[\"624d930c3xxxx5c08dd4986e\",\"624d93102xxxx012f33cd2fe\"]",
"identities": {
"identityId": "62299d8b866d2dab79a89dc4",
"extIdpId": "6076bacxxxxxxxxd80d993b5",
"provider": "wechat",
"type": "openid",
"userIdInIdp": "oj7Nq05R-RRaqak0_YlMLnnIwsvg",
"originConnIds": "[\"605492ac41xxxxe0362f0707\"]"
},
"customData": { "school": "Peking University", "age": 22 },
"statusChangedAt": "2022-07-03T02:20:30.000Z"
}
}Data structure### 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 | locale | 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 | Email address | help@genauth.ai | |
| phone | string | No | Phone number | 114114114 |
| customData | object | No | User-defined field | {"name":"H"} |
SignUpOptionsDto
| Name | Type | Is it required? | Example 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 complete user information during registration | 1234 | | passwordForPhonePassCode | string | No | Used to supplement password during Mobile phone verification code registration | xxxxxxxxxxxxxxxx | | context | object | Yes | Additional parameters passed during login/registration will be stored in user-defined fields | {"phoneNumber":"188xxxx8888","phoneCountryCode":"+86"} | | passwordEncryptType | string | No | Password encryption type, supports sm2 and rsa. By default, it can be unencrypted.
- none: Do not encrypt the password, 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 | Is it required? | Description | Sample value |
|---|---|---|---|---|
| userId | string | yes | User unique identifier, which can be user ID, user name, email, mobile phone number, external ID, or ID in an external identity source. | 6229ffaxxxxxxxxcade3e3d9 |
| createdAt | string | yes | Creation time | 2022-07-03T02:20:30.000Z |
| updatedAt | string | yes | Update time | 2022-07-03T02:20:30.000Z |
| status | string | yes | Current status of the account | Suspended |
| externalId | string | no | Third-party external ID | 10010 |
| string | no | Email address, case insensitive | test@example.com | |
| phone | string | no | Mobile number, without area code. If the number is from a foreign country, specify the area code in the phoneCountryCode parameter. | 188xxxx8888 |
| phoneCountryCode | string | No | Area code for the phone. This parameter is optional for phone numbers from mainland China. The GenAuth SMS service does not yet support international phone numbers. You need to configure the corresponding international SMS service in the GenAuth console. For a complete list of 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 | xxxx xxx |
| nickname | string | No | Nickname | xxxx xxx |
| 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-03T02:20:30.000Z |
| lastIp | string | No | Last login IP | 127.0.0.1 |
| gender | string | Yes | Gender: - M: Male, male- F: Female, female- U: Unknown, unknown | M |
| emailVerified | boolean | Yes | Is the email verified? | true |
| phoneVerified | boolean | Yes | Is the phone number verified? | true |
| passwordLastSetAt | string | No | User's last password modification time | 2022-07-03T02: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 | Name | xx |
| familyName | string | no | Last Name | Zhang |
| middleName | string | no | Middle Name | |
| profile | string | no | Preferred Username | |
| preferredUsername | string | no | Preferred Username | |
| website | string | No | User personal website | |
| zoneinfo | string | No | User time zone information | |
| locale | string | No | Locale | |
| formatted | string | No | Standard full address | |
| region | string | No | User region | |
| userSourceType | string | Yes | Source type: - excel: Imported through 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 | Time when the user last performed MFA authentication | |
| passwordSecurityLevel | number | No | User password security strength level | 1 |
| resetPasswordOnNextLogin | boolean | No | Require password reset on next login | |
| departmentIds | array | No | List of department IDs to which the user belongs | ["624d930c3xxxx5c08dd4986e","624d93102xxxx012f33cd2fe"] |
| identities | array | No | External identity source Nested type: <a IdentityDto. | |
| customData | object | No | User's extended field data | {"school":"Peking University","age":22} |
| statusChangedAt | string | No | User status last modified time | 2022-07-03T02:20:30.000Z |
IdentityDto
| Name | Type | 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: QingCloud- google: Google- gitlab: GitLab- gitee: Gitee- twitter: Twitter- facebook: Facebook- slack: Slack- linkedin: Linkedin- instagram: Instagram- oidc: OIDC Enterprise Identity Source- oauth2: OAuth2 Type of enterprise identity source- saml: SAML type of enterprise identity source- ldap: LDAP type of enterprise identity source- ad: AD type of enterprise identity source- cas: CAS type of enterprise identity source- azure-ad: Azure AD type of enterprise identity source | oidc |
| type | string | yes | Identity type, such as unionid, openid, primary | openid |
| userIdInIdp | string | yes | ID in the external identity source |