Skip to content

Modify security configuration

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.

Optional security domain, GenAuth Token validity period (seconds), verification code length, verification code attempts, user mailbox modification security policy, user mobile phone number modification security policy, cookie expiration time setting, whether to prohibit user registration, frequent registration detection configuration, whether to require users to set passwords after verification code registration, whether to prohibit login and send authentication emails when logging in with unverified mailboxes, user self-service unlock configuration, whether to enable login account selection on the GenAuth login page, and modify security configuration by scanning the code for APP login

Method name

ManagementClient.updateSecuritySettings

Request parameters

NameTypeIs it requiredDefault valueDescriptionSample value
allowedOriginsstring[]No-Security domain (CORS)["https://example.com"]
authingTokenExpiresInnumberNo129600GenAuth Token validity period (seconds)1296000
verifyCodeLengthnumberNo6Verification code length. Includes SMS verification code, email verification code, and graphic verification code.6
verifyCodeMaxAttemptsnumberNo1Number of verification code attempts. Within a verification code validity period (default is 60 s), if the number of incorrect verification code input by the user exceeds this threshold, the current verification code will become invalid and need to be resent.1
changeEmailStrategy<a ChangeEmailStrategyDtoNo-Security strategy for users to change their email addresses{"verifyOldEmail":true}
changePhoneStrategy<a ChangePhoneStrategyDtoNo-Security strategy for users to change their phone numbers{"verifyOldPhone":true}
cookieSettings<a CookieSettingsDtoNo-Cookie expiration time settings
registerDisabledbooleanNo-Whether to prohibit user registration. After enabling, users will not be able to register on their own and only administrators can create accounts for them. For B2B and B2E user pools, it is enabled by default.
registerAnomalyDetection<a RegisterAnomalyDetectionConfigDtoNo-Frequent registration detection configuration
completePasswordAfterPassCodeLoginbooleanNo-Whether to require users to set a password after verification code registration (only valid for GenAuth login page and Guard, not for API calls).
loginAnomalyDetection<a LoginAnomalyDetectionConfigDtoNo-Login anti-riot configuration
loginRequireEmailVerifiedbooleanNo-When logging in with an email, whether to prohibit logging in and sending a verification email when logging in with an unverified email. The user can only log in after receiving the email and completing the verification.
selfUnlockAccount<a SelfUnlockAccountConfigDtoNo-User self-service unlock configuration. Note: Only users who have bound their mobile phone number/email address can unlock by themselves
enableLoginAccountSwitchbooleanNo-Whether to enable login account selection on the GenAuth login page
qrcodeLoginStrategy<a QrcodeLoginStrategyDtoNo-APP scan code login security configuration

Sample code

ts
import { ManagementClient, Models } from "authing-node-sdk";

// Initialize ManagementClient
const managementClient = new ManagementClient({
  // Need to be replaced with your GenAuth Access Key ID
  accessKeyId: "GEN_AUTH_ACCESS_KEY_ID",
  // Need to be replaced with your GenAuth Access Key Secret
  accessKeySecret: "GEN_AUTH_ACCESS_KEY_SECRET",
  // If it is a private deployment customer, you need to set the GenAuth service domain name
  // host: 'https://api.your-authing-service.com'
});

(async () => {
  const result = await managementClient.updateSecuritySettings({
    authingTokenExpiresIn: 1296000,
    verifyCodeLength: 4,
    verifyCodeMaxAttempts: 1,
    changeEmailStrategy: {
      verifyOldEmail: true,
    },
  });

  console.log(JSON.stringify(result, null, 2));
})();

Request response

Type: SecuritySettingsRespDto

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 (not returned for successful requests). For a detailed list of error codes, see: API Code List
requestIdstringRequest ID. Returned when the request fails.
data<a SecuritySettingsDtoResponse data

Sample result:

json
{
  "statusCode": 200,
  "message": "Operation successful",
  "requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
  "data": {
    "allowedOrigins": "https://example.com \n https://example.com",
    "authingTokenExpiresIn": 1296000,
    "verifyCodeLength": 6,
    "verifyCodeMaxAttempts": 1,
    "changeEmailStrategy": {
      "verifyOldEmail": true
    },
    "changePhoneStrategy": {
      "verifyOldPhone": true
    },
    "cookieSettings": {
      "cookieExpiresIn": 1209600
    },
    "registerAnomalyDetection": {
      "limit": 50,
      "timeInterval": 300
    },
    "loginAnomalyDetection": {
      "loginFailStrategy": "captcha",
      "robotVerify": "condition_set",
      "accountLock": "condition_set",
      "loginFailCheck": {
        "limit": 50,
        "timeInterval": 300,
        "unit": "Second"
      },
      "loginPasswordFailCheck": {
        "limit": 50,
        "timeInterval": 300,
        "unit": "Second"
      },
      "accountLockLoginPasswordFailCheck": {
        "limit": 50,
        "timeInterval": 300,
        "unit": "Second"
      },
      "robotVerifyLoginPasswordFailCheck": {
        "limit": 50,
        "timeInterval": 300,
        "unit": "Second"
      },
      "robotVerifyLoginIpWhitelistCheck": {
        "ipWhitelist": "132.133.123.144,255.255.255.255"
      }
    },
    "selfUnlockAccount": {
      "strategy": "captcha"
    },
    "qrcodeLoginStrategy": {
      "qrcodeExpiresIn": 120,
      "qrcodeExpiresInUnit": "Second",
      "ticketExpiresIn": 300,
      "ticketExpiresInUnit": "Second",
      "allowExchangeUserInfoFromBrowser": true,
      "returnFullUserInfo": true
    }
  }
}

Data Structure

ChangeEmailStrategyDto

NameTypeIs it required?DescriptionSample value
verifyOldEmailbooleanyesWhether to verify the old email address when modifying the email addresstrue

ChangePhoneStrategyDto

NameTypeIs it required?DescriptionSample value
verifyOldPhonebooleanyesWhether to verify the old phone number when changing the phone numbertrue

CookieSettingsDto

NameTypeIs it requiredDescriptionSample value
cookieExpiresInnumberYesCookie validity period: the validity period of the user's login status (default is 1209600 seconds/14 days). After expiration, the user needs to log in again. For the application panel and applications that have been added to the application panel, this cookie expiration time will be used.1209600
cookieExpiresOnBrowserSessionbooleanyesCookie expiration time is based on browser session: it will expire immediately after the current browser is closed, and you need to log in again the next time you open it.

RegisterAnomalyDetectionConfigDto

NameTypeIs it required?DescriptionSample value
enabledbooleanyesWhether to enable frequent registration limit
limitnumberyesWithin a certain time period, for the same IP, the maximum number of registrations can be made.50
timeIntervalnumberyesThe length of the limited period, in seconds.300

LoginAnomalyDetectionConfigDto

NameTypeIs it required?DescriptionSample value
loginFailStrategystringYesLogin security strategy. When a user triggers login failure frequency detection, what strategy is used? Currently, two strategies are supported: verification code and account lock. When selecting the account lock strategy, only "Login password error limit" can be enabled. This field is marked as obsolete, but this field is still required. If you use the new version logic, you can write one by default. The new version uses accountLock for account lock and robotVerify for verification codecaptcha
robotVerifystringYesHuman-machine verification (verification code) strategy. Optional values, disable (not enabled)/condition_set (conditional enable)/always_enable (always enabled)condition_set
accountLockstringYesAccount lock strategy. Optional values, disable (not enabled)/condition_set (conditional enable)condition_set
loginFailCheckYesLogin failure limit: When the user enters incorrect information during login, the corresponding strategy will be triggered according to the "Login security strategy" rules. Nested type: <a LoginFailCheckConfigDto.
loginPasswordFailCheckYesLogin password error restriction: When the user logs in and enters the wrong password information, the corresponding policy will be triggered according to the "Login Security Policy" rule. This field is marked as obsolete, see accountLockLoginPasswordFailCheck/ robotVerifyLoginPasswordFailCheck Nested type: <a LoginPassowrdFailCheckConfigDto.
accountLockLoginPasswordFailCheckNoAccount lock-login password error restriction: When the user logs in and enters the wrong password information, the corresponding policy will be triggered according to the "Login Security Policy" rule. Nested type: <a LoginPassowrdFailCheckConfigDto.
robotVerifyLoginPasswordFailCheckYesHuman-machine verification (verification code) - Login password error restriction: When the user logs in and enters the wrong password information, the corresponding policy will be triggered according to the "Login Security Policy" rule. Nested type: <a LoginPassowrdFailCheckConfigDto.
robotVerifyLoginIpWhitelistCheckYesHuman-machine verification (verification code) - IP whitelist: When the login IP is not in the whitelist, human-machine verification will be triggered. Nested type: <a LoginIpWhitelistCheckConfigDto.
robotVerifyLoginTimeCheckEnablebooleanyesWhether to enable login time limit
robotVerifyloginWeekStartEndTimearrayyesLogin time limit days of the week + start time array

LoginFailCheckConfigDto

NameTypeIs it requiredDescriptionSample value
enabledbooleanyesWhether to enable login failure limit.
limitnumberyesWithin a certain period of time, for the same IP, the maximum number of login failures before the security policy is triggered.50
timeIntervalnumberyesLimit the periodic time length, in seconds.300
unitstringnoTime length unit. Second/Minute/Hour/Day, for display only, the unit of timeInterval is still in secondsSecond

LoginPassowrdFailCheckConfigDto

NameTypeIs it requiredDescriptionSample value
enabledbooleanyesWhether to enable login password error limit
limitnumberyesMaximum limit on the number of incorrect passwords50
timeIntervalnumberyesLimit the period time length in seconds.300
unitstringnoTime length unit. Second/Minute/Hour/Day, only for display, the unit of timeInterval is still secondsSecond

LoginIpWhitelistCheckConfigDto

NameTypeIs it requiredDescriptionSample value
enabledbooleanyesWhether to enable login ip whitelist verification
ipWhiteliststringyesHuman-machine verification ip whitelist132.133.123.144,255.255.255.255

SelfUnlockAccountConfigDto

NameTypeIs it required?DescriptionSample value
enabledbooleanyesWhether to allow users to unlock their accounts by themselves.
strategystringyesSelf-service unlocking method. Currently, two methods are supported: original password + verification code and verification code.captcha

QrcodeLoginStrategyDto

NameTypeIs it required?DescriptionSample value
qrcodeExpiresInnumberYesQR code validity period, in seconds120
qrcodeExpiresInUnitstringNoTime unit, Second/Minute/Hour/Day, for display onlySecond
ticketExpiresInnumberYesTicket validity period, in seconds300
ticketExpiresInUnitstringNoTime unit, Second/Minute/Hour/Day, for display onlySecond
allowExchangeUserInfoFromBrowserbooleanyesWeb polling interface returns complete user information, see this document for details: Web polling interface returns complete user informationtrue
returnFullUserInfobooleanyesAllow using ticket to exchange user information in the browser, see this document for details: Web polling interface returns complete user informationtrue

SecuritySettingsDto

NameTypeIs it requiredDescriptionSample value
allowedOriginsstringNoSecurity Domain (CORS)`https://example.com
https://example.com`
authingTokenExpiresInnumberYesGenAuth Token Validity Time (Seconds)1296000
verifyCodeLengthnumberYesVerification code length. Includes SMS verification code, email verification code, and graphic verification code.6
verifyCodeMaxAttemptsnumberYesVerification code attempts. Within a verification code validity period (default is 60 s), if the number of incorrect verification code input by the user exceeds this threshold, the current verification code will become invalid and need to be resent.1
changeEmailStrategyYesSecurity strategy for users to change their email addresses Nested type: <a ChangeEmailStrategyDto.{"verifyOldEmail":true}
changePhoneStrategyYesSecurity strategy for users to change their phone numbers Nested type: <a ChangePhoneStrategyDto.{"verifyOldPhone":true}
cookieSettingsNoCookie expiration time settings Nested type: <a CookieSettingsDto.
registerDisabledbooleanYesWhether to prohibit user registration. After turning it on, users will not be able to register on their own, and only administrators can create accounts for them. For B2B and B2E user pools, it is turned on by default.
registerAnomalyDetectionYesFrequent registration detection configuration Nested type: <a RegisterAnomalyDetectionConfigDto.
completePasswordAfterPassCodeLoginbooleanYesWhether to require users to set a password after verification code registration (only valid for GenAuth login page and Guard, not for API calls).
loginAnomalyDetectionYesLogin anti-riot configuration Nested type: <a LoginAnomalyDetectionConfigDto.
loginRequireEmailVerifiedbooleanYesWhen logging in with an email, whether to prohibit login and send a verification email when logging in with an unverified email. The user can only log in after receiving the email and completing the verification.
selfUnlockAccountYesUser self-service unlock configuration. Note: Only users who have bound their mobile phone number/email address can self-unlock Nested type: <a SelfUnlockAccountConfigDto.
enableLoginAccountSwitchbooleanyesWhether to enable login account selection on the GenAuth login page
qrcodeLoginStrategyyesAPP scan code login security configuration Nested type: <a QrcodeLoginStrategyDto.

ChangeEmailStrategyDto

NameTypeIs it required?DescriptionSample value
verifyOldEmailbooleanyesWhether to verify the old email when modifying the emailtrue

ChangePhoneStrategyDto

NameTypeIs it required?DescriptionSample value
verifyOldPhonebooleanyesWhether to verify the old phone number when changing the phone numbertrue

CookieSettingsDto

| Name | Type | Is it required | Description | Sample value | | --------------- | ------ | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | --- | ----------------------------- | ------- | --- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | | cookieExpiresIn | number | yes | Cookie validity period: the validity period of the user's login status (default is 1209600 seconds/14 days). After expiration, the user needs to log in again. For the application panel and applications that have been added to the application panel, this cookie expiration time will be used. | 1209600 | | cookieExpiresOnBrowserSession | boolean | Yes | Cookie expiration time is based on browser session: it expires immediately after the current browser is closed, and you need to log in again the next time you open it. | |

RegisterAnomalyDetectionConfigDto

NameTypeIs it requiredDescriptionSample value
enabledbooleanYesWhether to enable frequent registration restrictions
limitnumberYesWithin a certain period of time, for the same IP, the maximum number of registrations can be made.50
timeIntervalnumberYesThe length of the limited period in seconds.300

LoginAnomalyDetectionConfigDto

NameTypeIs it required?DescriptionSample value
loginFailStrategystringYesLogin security strategy. When a user triggers login failure frequency detection, what strategy is used? Currently, two strategies are supported: verification code and account lock. When the account lock strategy is selected, only "Login password error limit" can be enabled. This field is marked as obsolete, but this field is still required. If you use the new version logic, you can write one by default. The new version uses accountLock for account lock and robotVerify for verification codecaptcha
robotVerifystringYesHuman-machine verification (verification code) strategy. Optional values: disable (not enabled)/condition_set (conditional enable)/always_enable (always enabled)condition_set
accountLockstringYesAccount lock strategy. Optional values: disable (not enabled)/condition_set (conditional enable)condition_set
loginFailCheckYesLimit of failed logins: When the user enters incorrect information during login, the corresponding strategy will be triggered according to the "Login Security Strategy" rule. Nested type: <a LoginFailCheckConfigDto.
loginPasswordFailCheckYesLimit of incorrect login passwords: When the user enters incorrect password information during login, the corresponding strategy will be triggered according to the "Login Security Strategy" rule. This field is marked as obsolete, see accountLockLoginPasswordFailCheck/ robotVerifyLoginPasswordFailCheck Nested type: <a LoginPassowrdFailCheckConfigDto.
accountLockLoginPasswordFailCheckNoAccount lock-login password error restriction: When the user logs in and enters the wrong password information, the corresponding policy will be triggered according to the "Login Security Policy" rule. Nested type: <a LoginPassowrdFailCheckConfigDto.
robotVerifyLoginPasswordFailCheckYesHuman-machine verification (verification code)-login password error restriction: When the user logs in and enters the wrong password information, the corresponding policy will be triggered according to the "Login Security Policy" rule. Nested type: <a LoginPassowrdFailCheckConfigDto.
robotVerifyLoginIpWhitelistCheckYesHuman-machine verification (verification code) - ip whitelist: When the login IP is not in the whitelist, human-machine verification will be triggered. Nested type: <a LoginIpWhitelistCheckConfigDto.
robotVerifyLoginTimeCheckEnablebooleanYesWhether to enable login time limit
robotVerifyloginWeekStartEndTimearrayyesLogin time limit days of the week + start time array

LoginFailCheckConfigDto

NameTypeIs it required?DescriptionSample value
enabledbooleanyesWhether to enable the login failure limit.
limitnumberyesWithin a certain period of time, for the same IP, the maximum number of login failures before the security policy is triggered.50
timeIntervalnumberyesThe length of the limited period in seconds.300
unitstringNoTime unit. Second/Minute/Hour/Day, for display only, the unit of timeInterval is still secondsSecond

LoginPassowrdFailCheckConfigDto

NameTypeIs it requiredDescriptionSample value
enabledbooleanYesWhether to enable login password error limit
limitnumberYesMaximum limit on the number of incorrect passwords50
timeIntervalnumberYesLimit the period time length, in seconds.300
unitstringNoThe unit of time length. Second/Minute/Hour/Day, only for display, the unit of timeInterval is still secondsSecond

LoginIpWhitelistCheckConfigDto

NameTypeIs it requiredDescriptionSample value
enabledbooleanyesWhether to enable login ip whitelist verification
ipWhiteliststringyesHuman-machine verification ip whitelist132.133.123.144,255.255.255.255

SelfUnlockAccountConfigDto

NameTypeIs it required?DescriptionSample value
enabledbooleanyesWhether to allow users to unlock their accounts by themselves.
strategystringyesSelf-service unlocking method. Currently, two methods are supported: original password + verification code and verification code.captcha

QrcodeLoginStrategyDto

NameTypeIs it required?DescriptionSample value
qrcodeExpiresInnumberYesQR code validity period, in seconds120
qrcodeExpiresInUnitstringNoTime unit, Second/Minute/Hour/Day, for display onlySecond
ticketExpiresInnumberYesTicket validity period, in seconds300
ticketExpiresInUnitstringNoTime unit, Second/Minute/Hour/Day, for display onlySecond
allowExchangeUserInfoFromBrowserbooleanYesWeb polling interface returns complete user information, see this document for details: Web polling interface returns complete user informationtrue
returnFullUserInfobooleanYesAllow using ticket to exchange user information in browser, see this document for details: Web polling interface returns complete user informationtrue

Agent infrastructure for identity, memory, and web action.