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 Username Password

¶ Username and password registration

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

Register with username + password.

¶ Request parameters

NameType
Is it required
Default value
Description
Sample value
usernamestrYes-Usernametest
passwordstrYes-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
profileSignUpProfileDtoNo-User profile
optionsSignUpOptionsDtoNo-Optional parameters

¶ Example 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_username_password( username="test", password="passw0rd", ) 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
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": "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": "San Zhang",
    "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
photostringNoPhotohttps://www.genauth.ai/demo.jpg
devicestringNoDeviceiOS
browserstringNoBrowserEdge
namestringNoNameMike
givenNamestringNoFirst nameZhou
familyNamestringNoLast nameJay
middleNamestringNoMiddle nameJane
profilestringNoProfilethis is my profile
preferredUsernamestringNoPreferred usernameMike
websitestringNoWebsitehttps://www.genauth.ai
genderstringNoGenderM
birthdatestringNoBirthday2020.2.2
zoneinfostringNoZoneinfoHongKong
localestringNoLocaleEN-US
addressstringNoAddressHai Dian XX
formattedstringNoFormatted
streetAddressstringNoStreet addressHai Dian Street 1
localitystringNoLocalityBeiJing HaiDian
regionstringNoRegionchina
postalCodestringNoPostal code3500000
countrystringNoCountrychina
emailstringNoEmailhelp@genauth.ai
phonestringNoPhone114114114
customDataobjectNoUser custom data{"name":"H"}

¶ SignUpOptionsDto

NameType
Is it required?
Description
Sample value
clientIpstringNoClient IP192.168.0.1
phonePassCodeForInformationCompletionstringNoSMS verification code for information completion1234
emailPassCodeForInformationCompletionstringNoEmail verification code for information completion1234
contextobjectYesAdditional parameters passed when logging in/registering, will be stored in user custom fields{"phoneNumber":"188xxxx8888","phoneCountryCode":"+86"}
passwordEncryptTypestringNoPassword encryption type, supports sm2 and rsa. Default is not encrypted.
- none: Do not encrypt the password, use plaintext for transmission.
- rsa: Use RSA256 algorithm to encrypt the password, you need to use the RSA256 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 the SM2 algorithm (opens new window) to encrypt the password, you 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 it required?
Description
Sample value
userIdstringYesUser unique identifier, can be user ID, username, email, phone number, external ID, or ID in external identity source.6229ffaxxxxxxxxcade3e3d9
createdAtstringYesCreation time2022-07-03T02:20:30.000Z
updatedAtstringYesUpdate time2022-07-03T02:20:30.000Z
statusstringYesAccount current statusSuspended
externalIdstringNoThird-party external ID10010
emailstringNoEmail, not case-sensitivetest@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, not required for mainland China phone numbers. GenAuth SMS service does not support international phone numbers by default, you need to configure the corresponding international SMS service in the GenAuth console. Complete list of phone area codes can be found at https://en.wikipedia.org/wiki/List_of_country_calling_codes.+86
usernamestringNoUsername, unique in user poolbob
namestringNoUser real name, not uniqueSan Zhang
nicknamestringNoNicknameSan Zhang
photostringNoAvatar linkhttps://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
- F: female
- U: unknown
M
emailVerifiedbooleanYesEmail verificationtrue
phoneVerifiedbooleanYesPhone number verificationtrue
passwordLastSetAtstringNoUser last password modification time2022-07-03T02:20:30.000Z
birthdatestringNoBirthday2022-06-03
countrystringNoCountryCN
provincestringNoProvinceBJ
citystringNoCityBJ
addressstringNoAddressxxx
streetAddressstringNoStreet addressxxx
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
profilestringNoProfile
preferredUsernamestringNoPreferred Username
websitestringNoWebsite
zoneinfostringNoTime zone information
localestringNoLocale
formattedstringNoStandardized full 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
lastLoginAppstringNoUser last login application ID
mainDepartmentIdstringNoUser main 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 IdentityDto.
customDataobjectNoUser extended field data{"school":"xxxx","age":22}
statusChangedAtstringNoUser status last modified time2022-07-03T02:20:30.000Z

¶ IdentityDto

NameType
Is it required?
Description
Sample value
identityIdstringYesIdentity ID62299d8b866d2dab79a89dc4
extIdpIdstringYesIdentity Connection ID6076bacxxxxxxxxd80d993b5
providerstringyesExternal 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
typestringyesIdentity type, such as unionid, openid, primaryopenid
userIdInIdpstringyesID in the external identity sourceoj7Nq05R-RRaqak0_YlMLnnIwsvg
originConnIdsarrayyesIdentity source connection from which the identity comes ID List["605492ac41xxxxe0362f0707"]
Previous article: Backend Logout Next article: Register with Email Password
  • Request parameters
  • Example 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.