GenAuth DocsDocuments
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Old version
Development Integration
  • API

  • SDK

    • Java

    • Node.js

    • Python

      • Installation and Usage
      • Authentication Module

        • Login

        • Logout

        • Register

          • Register with Username Password
          • Register with Email Password
          • Register with Phone Passcode
          • Register with Email Passcode
          • Register
        • User Profile

        • Account Binding

        • MFA Factor Management

        • User Related Resources

        • Message Service

        • WeChat Related APIs

        • Others

        • OIDC Module
        • OAuth Module
        • SAML Module
        • CAS Module
        • Events
      • Management Module

  • Error Codes
  1. Development Integration
  2. /
  3. SDK
  4. /
  5. Python
  6. /
  7. Authentication Module

  8. /
  9. Register

  10. /
  11. Register with Email Passcode

¶ Email verification code registration

Update time: 2025-07-23 07:34:21
Edit

Use email + verification code to register.

¶ Request parameters

NameType
Required
Default value
Description
Sample value
emailstrYes-Emailtest@example.com
pass_codestrYes-Email verification code1234
profileSignUpProfileDtoNo-User profile
optionsSignUpOptionsDtoNo-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

NameTypeDescription
statusCodenumberBusiness status code, which can be used to determine whether the operation is successful. 200 means success.
messagestringDescription information
apiCodenumberSegmented error code, which can be used to get the specific error type.
requestIdstringRequest ID. It will be returned when the request fails.
dataUserDtoResponse 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

NameType
Is it required?
Description
Sample value
nicknamestringNoNickname
companystringNoCompanyGenAuth .Inc
photostringNoAvatarhttps://www.genauth.ai/demo.jpg
devicestringNoDeviceiOS
browserstringNoBrowserEdge
namestringNoNameMike
givenNamestringNoFirst nameZhou
familyNamestringnolast nameJay
middleNamestringnomiddle nameJane
profilestringnoprofilethis is my profile
preferredUsernamestringnopreferred usernameMike
websitestringnowebsitehttps://www.genauth.ai
genderstringnogender W : female; M : maleM
birthdatestringnobirthday2020.2.2
zoneinfostringnoregionHongKong
localestringnolanguage regionEN-US
addressstringnoaddressHai Dian XX
formattedstringnoformat
streetAddressstringnostreet addressHai Dian Street 1
localitystringNoLocationBeiJing HaiDian
regionstringNoRegionchina
postalCodestringNoPostal code3500000
countrystringNoCountrychina
emailstringNoEmailhelp@genauth.ai
phonestringNoPhone number114114114
customDataobjectNoUser-defined field{"name":"H"}

¶ SignUpOptionsDto

NameType
Is it required?
Description
Sample value
clientIpstringNoClient IP192.168.0.1
phonePassCodeForInformationCompletionstringNoSMS verification code used to complete user information during registration1234
emailPassCodeForInformationCompletionstringNoEmail verification code used to complete user information during registration1234
contextobjectYesAdditional parameters passed during login/registration will be stored in user-defined fields{"phoneNumber":"188xxxx8888","phoneCountryCode":"+86"}
passwordEncryptTypestringNoPassword 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

NameType
Is this field required?
Description
Sample value
userIdstringYesUser unique identifier, which can be user ID, user name, email address, phone number, external ID, or ID in an external identity source.6229ffaxxxxxxxxcade3e3d9
createdAtstringyescreation time2022-07-03T02:20:30.000Z
updatedAtstringyesupdate time2022-07-03T02:20:30.000Z
statusstringyescurrent status of the accountSuspended
externalIdstringnothird-party external ID10010
emailstringnoemail address, case insensitivetest@example.com
phonestringNoPhone number without area code. If it is an international phone number, please specify the area code in the phoneCountryCode parameter.188xxxx8888
phoneCountryCodestringNoPhone 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
usernamestringNoUsername, unique in the user poolbob
namestringNoUser real name, not uniqueZhang San
nicknamestringNoNicknameZhang San
photostringNoAvatarhttps://files.authing.co/authing-console/default-user-avatar.png
loginsCountnumberNoTotal login count3
lastLoginstringNoLast login time2022-07-03T02:20:30.000Z
lastIpstringNoLast login IP127.0.0.1
genderstringYesGender:
- M: male, male
- F: female, female
- U: unknown,unknown
M
emailVerifiedbooleanYesEmail verificationtrue
phoneVerifiedbooleanYesIs the mobile phone number verifiedtrue
passwordLastSetAtstringNoUser last password modification time2022-07-03T02:20:30.000Z
birthdatestringNoDate of Birth2022-06-03
countrystringNoCountryCN
provincestringNoProvinceBJ
citystringNoCityBJ
addressstringNoAddressxxxx
streetAddressstringNoStreet addressxxxx
postalCodestringNoPostal code438100
companystringNoCompanysteamory
browserstringNoBrowserMozilla/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
devicestringNoDeviceiOS
givenNamestringNoFirst nameSan
familyNamestringNoLast nameZhang
middleNamestringNoMiddle name
profilestringNoPreferred Username
preferredUsernamestringNoPreferred Username
websitestringNoWebsite
zoneinfostringNoTimezone
localestringNoLocale
formattedstringNoFormatted address
regionstringNoRegion
userSourceTypestringYesSource 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
userSourceIdstringNoApplication ID or synchronization task ID
lastLoginAppstringNoLast login application ID
mainDepartmentIdstringNoMain department ID
lastMfaTimestringNoUser last MFA authentication time
passwordSecurityLevelnumberNoUser password security strength level1
resetPasswordOnNextLoginbooleanNoNext login requires password reset
departmentIdsarrayNoUser department ID list["624d930c3xxxx5c08dd4986e","624d93102xxxx012f33cd2fe"]
identitiesarrayNoExternal identity source nested type: IdentityDto.
customDataobjectNoUser extended field data{"school":"xxxx","age":22}
statusChangedAtstringNoUser status last modified time2022-07-03T02:20:30.000Z

¶ IdentityDto

NameType
Is this field required?
Description
Sample value
identityIdstringYesIdentity ID62299d8b866d2dab79a89dc4
extIdpIdstringYesIdentity Connection ID6076bacxxxxxxxxd80d993b5
providerstringyesExternal 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
typestringyesIdentity type, such as unionid, openid, primaryopenid
userIdInIdpstringyesID in external identity sourceoj7Nq05R-RRaqak0_YlMLnnIwsvg
originConnIdsarrayyesList of identity source connection IDs that the identity came from["605492ac41xxxxe0362f0707"]
Previous article: Register with Phone Passcode Next article: Register
  • Request parameters
  • Sample code
  • Request response
  • Data structure

User identity management

Integrated third-party login
Customized authentication process

Enterprise internal management

Single sign-on
Multi-factor authentication
Permission management

Developer

Development Documentation
GitHub (opens new window)

Company

official@genauth.ai
16th Floor, Building B, Beichen Century Center, Chaoyang District, Beijing (Total)
Room 406, 4th Floor, Block B, No. 200, Tianfu Fifth Street, High-tech Zone, Chengdu (Branch)

© Beijing Steamory Technology Co., Ltd.