- Development Integration
- /
- SDK
- /
- Python
- /
Authentication Module
- /
Register
- /
- Register with Email Passcode
¶ Email verification code registration
Update time: 2025-07-23 07:34:21
Use email + verification code to register.
¶ Request parameters
| Name | Type | Required | Default value | Description | Sample value |
|---|---|---|---|---|---|
| str | Yes | - | test@example.com | ||
| pass_code | str | Yes | - | Email verification code | 1234 |
| profile | SignUpProfileDto | No | - | User profile | |
| options | SignUpOptionsDto | No | - | Optional parameters |
¶ Sample code
from authing import AuthenticationClient
# Initialize AuthenticationClient
authentication_client = AuthenticationClient(
# GenAuth application ID
app_id='GEN_AUTH_APP_ID',
# GenAuth application secret
app_secret='GEN_AUTH_APP_SECRET',
# GenAuth application address, such as https://example.genauth.ai
app_host='GEN_AUTH_APP_HOST',
# Login callback address configured by GenAuth application
redirect_uri='GEN_AUTH_APP_REDIRECT_URI',
)
sign_in_resp = authentication_client.sign_up_by_email_passcode(
email="test@example.com",
pass_code="1234",
)
print(sign_in_resp)
¶ 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 information |
| 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 | UserDto | Response data |
Sample result:
{
"statusCode": 200,
"message": "Success",
"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": "Zhang San",
"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.000 Z",
"birthdate": "2022-06-03",
"country": "CN",
"province": "BJ",
"city": "BJ",
"address": "Beijing Chaoyang",
"streetAddress ": "xxx Street, Chaoyang District, Beijing",
"postalCode": "438100",
"company": "steamy",
"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": "San",
"familyName": "Zhang",
"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 | 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 | help@genauth.ai | ||
| phone | string | No | Phone number | 114114114 |
| customData | object | No | User-defined field | {"name":"H"} |
¶ SignUpOptionsDto
| Name | Type | Is it 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 complete user information during registration | 1234 |
| 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 RSA256 algorithm to encrypt the password, and need to use the RSA public key of GenAuth service for encryption. Please read the Introduction section to learn how to obtain the RSA256 public key of GenAuth service.- sm2: Use National Secret SM2 Algorithm (opens new window) to encrypt the password, and need to use the SM2 public key of GenAuth service for encryption. Please read the Introduction section to learn how to obtain the SM2 public key of GenAuth service. | sm2 |
¶ UserDto
| Name | Type | Is this field required? | Description | Sample value |
|---|---|---|---|---|
| userId | string | Yes | User unique identifier, which can be user ID, user name, email address, 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 | Phone number without area code. If it is an international phone number, please specify the area code in the phoneCountryCode parameter. | 188xxxx8888 |
| phoneCountryCode | string | No | Phone area code. This parameter is optional for phone numbers in mainland China. The GenAuth SMS service does not currently support international phone numbers. You need to configure the corresponding international SMS service in the GenAuth console. For a complete list of phone area codes, please refer to https://en.wikipedia.org/wiki/List_of_country_calling_codes. | +65 |
| username | string | No | Username, unique in the user pool | bob |
| name | string | No | User real name, not unique | Zhang San |
| nickname | string | No | Nickname | Zhang San |
| photo | string | No | Avatar | https://files.authing.co/authing-console/default-user-avatar.png |
| loginsCount | number | No | Total login count | 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 | Email verification | true |
| phoneVerified | boolean | Yes | Is the mobile phone number verified | true |
| passwordLastSetAt | string | No | User 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 | xxxx |
| streetAddress | string | No | Street address | xxxx |
| postalCode | string | No | Postal code | 438100 |
| company | string | No | Company | steamory |
| browser | string | No | 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 | string | No | Device | iOS |
| givenName | string | No | First name | San |
| familyName | string | No | Last name | Zhang |
| middleName | string | No | Middle name | |
| profile | string | No | Preferred Username | |
| preferredUsername | string | No | Preferred Username | |
| website | string | No | Website | |
| zoneinfo | string | No | Timezone | |
| locale | string | No | Locale | |
| formatted | string | No | Formatted address | |
| region | string | No | 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: Synchronization task of the synchronization center | excel |
| userSourceId | string | No | Application ID or synchronization task ID | |
| lastLoginApp | string | No | Last login application ID | |
| mainDepartmentId | string | No | Main department ID | |
| lastMfaTime | string | No | User last MFA authentication time | |
| passwordSecurityLevel | number | No | User password security strength level | 1 |
| resetPasswordOnNextLogin | boolean | No | Next login requires password reset | |
| departmentIds | array | No | User department ID list | ["624d930c3xxxx5c08dd4986e","624d93102xxxx012f33cd2fe"] |
| identities | array | No | External identity source nested type: IdentityDto. | |
| customData | object | No | User extended field data | {"school":"xxxx","age":22} |
| statusChangedAt | string | No | User status last modified time | 2022-07-03T02:20:30.000Z |
¶ IdentityDto
| Name | Type | Is this field required? | Description | Sample value |
|---|---|---|---|---|
| identityId | string | Yes | Identity ID | 62299d8b866d2dab79a89dc4 |
| extIdpId | string | Yes | Identity Connection ID | 6076bacxxxxxxxxd80d993b5 |
| provider | string | yes | External identity source type: - wechat: WeChat- qq: QQ- wechatwork: WeChat Work- 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-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 external identity source | oj7Nq05R-RRaqak0_YlMLnnIwsvg |
| originConnIds | array | yes | List of identity source connection IDs that the identity came from | ["605492ac41xxxxe0362f0707"] |
