Mobile Number One-Click Login
# Documentation Description
This document explains how to integrate the One-Click Login feature into an Android client. With One-Click Login, users do not need to input their phone number. The SDK will present an authorization page. After the user confirms authorization, the SDK obtains a token. The server then uses this token to query the carrier's gateway to retrieve the phone number currently being used for internet access by the user. The final authentication result is returned to the App's server. The Zhuyun IDaaS One-Click Login SDK is built upon the encapsulation of Alibaba Cloud's "Mobile Number Verification" SDK.
# Terminology Explanation
The One-Click Login feature, also known as Mobile Number Verification, integrates the unique data gateway authentication capabilities of the three major carriers, upgrading the traditional SMS verification code method. It is used in scenarios such as user registration and login.
# Process Explanation
Integration Process Explanation
- Register Alibaba Cloud's private key and IDaaS server configuration parameters with the IDaaS SDK.
- Terminal network detection: Check the network environment's feasibility via the Alibaba Cloud server. If the user has enabled 4G data and the network is unobstructed, the IDaaS SDK is successfully called and the authorization page is presented.
- The user reviews the content on the authorization page and agrees to the relevant terms. The IDaaS SDK obtains an authorization TOKEN and passes it to the IDaaS server.
- The IDaaS server uses the TOKEN to retrieve the user's mobile number from the Alibaba Cloud server, then initiates authentication. If authentication is successful, a sessionToken is returned, which can be stored on the App client or used for other purposes. If authentication fails, an error code and reason are returned, and the process proceeds to the next step.
# Integration Flow

# Preparation
# Register an Alibaba Cloud Account
Refer to the official Alibaba Cloud website for the Account Opening Process (opens new window) and Authentication Scheme Management (opens new window).
# Activate the Mobile Number Verification Service
Visit the Mobile Number Verification Service product details page to activate and purchase as an enterprise user.
Click "Activate Now" or visit the product console.
On the console homepage, check the box "I have read and agree to the Mobile Number Verification Service Agreement".
Click "Activate Now" to complete product activation.
Log in to the Mobile Number Verification Service Console (opens new window). In the Standard Edition tab, download and extract the Alibaba Cloud Android SDK.


# Add an Authentication Scheme
- Add an authentication scheme in Alibaba Cloud's "Mobile Number Verification" service. Fill in the current project's package name and corresponding signature.

- After filling in the details, click "OK" to save the configuration. Obtain the secret key and save it locally in the app. It will be used during initialization in
PlatformConfig. Refer to the SDK initialization steps.

# Configure IDaaS Backend Authentication Source
- Log in to the IDaaS Enterprise Center. Navigate to the menu: Authentication -> Authentication Source Management -> Built-in Authentication Sources. Click "One-Click Login with Device Number".

- The "One-Click Login with Device Number" configuration page will pop up. Refer to the next step "Obtain corresponding configuration information from the Alibaba Cloud console" for the relevant parameters.

Parameter configuration instructions for setting up One-Click Login with Device Number:
| Parameter | Parameter Description |
|---|---|
| Mobile Number Verification Service Provider | Default: Alibaba Cloud |
| Access Key ID | Fill in the AccessKey generated when creating the user on Alibaba Cloud |
| AccessKey Secret | Fill in the AccessKey Secret generated when creating the user on Alibaba Cloud |
- Create a user in the Alibaba Cloud Workbench, check the box below, and refer to How to Obtain AccessKey (opens new window) to obtain the relevant parameters. Configure the obtained parameters into the page from the previous step (these parameters are required for backend integration).

# Obtain ClientId {/obtain-clientid/}
Log in to the IDaaS Enterprise Center, click 【Resources】-【Applications】, add a self-built application, select SDK/API for authentication integration, and save.
Obtain the ClientID from the application information.
# Environment Setup {/environment-setup/}
# Introduce Dependency Packages {/introduce-dependency-packages/}
Log in to the Phone Number Verification Service Console (opens new window), go to the Standard Edition tab, and download and extract the Android SDK.
auth_number_product-2.13.3-log-online-standard-cuum-release.aar // Alibaba Cloud One-Click Login SDK
crashshield-2.1.3.2-release.aar // Alibaba Cloud Crash Recording SDK
main-2.2.2-release.aar // Some core utility classes within the SDK, such as thread pool, JSON parsing, etc.
logger-2.2.2-release.aar // Used internally by the SDK to collect log information and for monitoring and alerting.
AuthnCenter_MobileNumberAuth_1.5.3.arr // IDaaS One-Click Login SDK
2
3
4
5
# Configure build.gradle {/configure-buildgradle/}
Place the aar packages in the libs directory under the App project, and write the following code in build.gradle.
/*begin*/
/* rxjava2 + okhttp + retrofit2 */
api 'io.reactivex.rxjava2:rxjava:2.2.10'
api 'io.reactivex.rxjava2:rxandroid:2.1.1'
api 'com.squareup.retrofit2:retrofit:2.6.0'
api 'com.squareup.retrofit2:adapter-rxjava2:2.6.0'
api 'com.squareup.retrofit2:converter-gson:2.6.0'
api 'com.squareup.okhttp3:okhttp:4.3.1'
api 'com.squareup.okhttp3:logging-interceptor:3.6.0'
api 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
api 'com.trello.rxlifecycle2:rxlifecycle-components:2.1.0'
api 'com.alibaba:fastjson:1.2.61'
/*end*/
implementation(name: 'AuthnCenter_MobileNumberAuth_1.5.3', ext: 'aar')
implementation(name: 'auth_number_product-2.13.3-log-online-standard-cuum-release', ext: 'aar')
implementation(name: 'crashshield-2.1.3.2-release', ext: 'aar')
implementation(name: 'main-2.2.2-release', ext: 'aar')
implementation(name: 'logger-2.2.2-release', ext: 'aar')
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Note: If the following error is reported during Run: More than one file was found with OS independent path 'lib/x86/libauth_number_product-2.12.3.4-log-online-standard-release_alijtca_plus.so', simply comment out the corresponding import.
//implementation(name: 'auth_number_product-2.12.3.4-log-online-standard-release', ext: 'aar')*
# Upgrade to AndroidX Project
Since the Alibaba Cloud SDK version must be AndroidX for support, the existing project needs to be converted to the AndroidX version.
First, back up the original project.
Add the following configuration in gradle.properties
android.useAndroidX=true android.enableJetifier=true1
2Upgrade to AndroidX Project
In Android Studio, click Refactor -> Migrate to AndroidX -> Migrate -> Do refactor in sequence. This will convert the project to AndroidX. (Note: Please back up the original project before this operation)
- Compile the project
# Configure AndroidManifest
<!--Permissions-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEM"/>
<!--Special Attention!!!!!!!-->
<!--If you do not need to use the window mode, do not use the authsdk_activity_dialog theme, as it may cause abnormal animations-->
<!--If you need to use the authsdk_activity_dialog theme, screenOrientation must not specify a fixed direction,
such as portrait, sensorPortrait. On Android 8.0 systems, specifying orientation for window mode is not allowed and will cause a crash. It must be specified as behind,
and then specify the specific orientation in the page before the authorization page-->
<activity
android:name="com.mobile.auth.gatewayauth.LoginAuthActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="behind"
android:theme="@style/authsdk_activity_dialog" />
<activity
android:name="com.mobile.auth.gatewayauth.activity.AuthWebVeiwActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="behind" />
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Configure HTTP Support

Create a new xml directory under res, copy the following content, and reference it in the application.
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">enrichgw.10010.com</domain> <!-- China Unicom internal 5G request domain, developers need to add -->
<domain includeSubdomains="true">onekey.cmpassport.com</domain> <!-- China Mobile internal request domain, developers need to add -->
</domain-config>
</network-security-config>
2
3
4
5
6
7
# Development Integration
# SDK Initialization
Save the secret key obtained from the authentication scheme configuration on the app side. Register the secret key to the IDaaS SDK at the app's entry point.
AuthnCenterSDK.Builder()
.init(this)
.setBaseUrl("https://xxx.xxx.com") //Tenant Domain
.setClientId(xxxx") //Application client-id from tenant backend
.isCheckSSL(false) //Whether to check SSL certificate
.logEnable(false).build(); //Whether to enable http request log
//Initialize One-Click Login application secret key
PlatformConfig.Builder().init(this).setAliOneKeyLoginSecret("Alibaba Cloud Application Secret Key");
2
3
4
5
6
7
8
Introduction to the main class AuthnCenterSDK methods for basic configuration initialization:
/**
* Set IDaas access address
* @param baseUrl Assigned IDaaS address
* @return
*/
public AuthnCenterSDK setBaseUrl(String baseUrl)
/**
* Add request header
* @param name Request header name
* @param value Request header value
* @return
*/
public AuthnCenterSDK addGlobalHeader(String name, String value)
/**
* Whether to enable SSL verification (only valid for HTTPS)
* @param isCheck true enable false disable
* @return
*/
public AuthnCenterSDK isCheckSSL(boolean isCheck)
/**
* Whether to enable logging
* @param isOpen true enable false disable
* @return
*/
public AuthnCenterSDK logEnable(boolean isOpen)
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Introduction to the main class AuthnCenterMobileNumberAuthAliYun methods for One-Click Login initialization:
/**
* Initialize One-Click Login
* @param context Android Context
* @param loginListener Callback
* @return
*/
public AuthnCenterMobileNumberAuthAliYun init(@NotNull Context context, @NotNull AliOneStepListener loginListener)
/**
* One-Click Login method
* @param config UI
*/
public void oneKeyLogin(UiConfig config)
/**
* One-Click Login callback events
*/
public interface AliOneStepListener
{
/**
* Success
* @param code Fixed success code is 1002
* @param data sessionToken
*/
void success(String code, String data);
/**
* Failure
* @param code Exception error code is 1001, other error codes are returned by the relevant service provider
* @param msg
*/
void error(String code, String msg);
}
/**
* UI configuration abstract class. When defining UI, you need to inherit and implement the configAuthPahe() method.
* You can refer to the example code or Alibaba Cloud custom UI code snippets.
*/
public abstract class UiConfig {
public abstract void configAuthPage();
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Call Example:
AuthnCenterMobileNumberAuthAliYun.Builder().init(this, new AliOneStepListener() {
@Override
public void success(String code, String data) {
}
@Override
public void error(String code, String msg) {
}
});
//Invoke One-Click Login
AuthnCenterMobileNumberAuthAliYun.Builder().oneKeyLogin(uiConfig);
2
3
4
5
6
7
8
9
10
11
# Environment Detection
To use the one-click login feature, the App client must first check if the environment is suitable using Alibaba Cloud's detection method. The terminal mobile phone must be in a 4G environment for the call to succeed.
Introduction to the methods of the PhoneNumberAuthHelper object:
/**
* SDK environment check function to verify if the terminal supports number authentication, returns code via TokenResultListener
* type 1: Local number verification 2: One-click login
* 600024 Terminal supports authentication
* 600013 System maintenance, feature unavailable
*/
public void checkEnvAvailable(@IntRange(from = 1, to = 2) int type)
2
3
4
5
6
7
Call example:
AuthnCenterMobileNumberAuthAliYun.Builder().mPhoneNumberAuthHelper.checkEnvAvailable(2);
2
After successful detection, a method to accelerate can be called to speed up the pop-up of the one-click login authorization page, preventing excessive wait time when invoking one-click login to raise the authorization page (use as needed based on actual conditions, not mandatory).
/**
* Accelerates the authorization page pop-up
*
* @param overdueTime Pre-fetch number validity period
* @param listener Pre-fetch number callback
*/
public void accelerateLoginPage(final int overdueTime, final PreLoginResultListener listener)
2
3
4
5
6
7
8
This interface is mainly used to accelerate token retrieval when manually entering a phone number and clicking confirm.
The one-click login scenario generally does not involve this interface. The SDK's built-in encapsulation uses the getLoginToken interface; using the SDK's default one-click login method is sufficient.
If there are other functionalities and you do not wish to use the SDK's built-in one-click login, you can directly call the Alibaba Cloud SDK's native methods. Simply replace the native event TokenResultListener with AliYunTokenListener.
# Invoking the Authorization Page
After successful environment detection, invoke the IDaaS SDK's one-click login method.
Example code:
//Invoke one-click login
AuthnCenterMobileNumberAuthAliYun.Builder().oneKeyLogin(uiConfig);
2
The IDaaS SDK's default one-click login page includes the desensitized phone number, a back button, a checkbox for agreement signing, and a button for other login methods. The style and text description of the above components can be customized.
Among these, clicking the one-click login for the local number, back, or other login method buttons will trigger a callback from the IDaaS SDK to the App client, returning content such as the return code and related data, and the window will close, meaning the operation is complete. For the checkbox agreement signing, the callback function provides related data after operation, and the window will not close.

Example of a failed call:

Example of a successful call:

After a successful call, the returned sessionToken can be used to exchange for detailed user information. Please refer to the server-side API documentation for details.
# Closing the Loading and Login Interface
AuthnCenterMobileNumberAuthAliYun.*Builder*().**mPhoneNumberAuthHelper**.hideLoginLoading();
*//Close loading*
AuthnCenterMobileNumberAuthAliYun.*Builder*().**mPhoneNumberAuthHelper**.quitLoginPage();
*//Close the one-click login interface*
2
3
4
# Authorization Interface Design
Ensure users are informed and consent to providing their mobile number information to the developer during the login process. One-click login requires the developer to provide an authorization page login screen for user confirmation. Before calling the authorization login method, the developer must display the authorization page, clearly informing the user that the current operation will transmit their local phone number information to the application.

Example code is as follows. For detailed code, please refer to the demo.
mAuthHelper.removeAuthRegisterXmlConfig();
mAuthHelper.removeAuthRegisterViewConfig();
// Add custom switch to other login methods
mAuthHelper.addAuthRegistViewConfig("switch_msg", new AuthRegisterViewConfig.Builder()
.setView(initSwitchView(350))
.setRootViewId(AuthRegisterViewConfig.RootViewId.ROOT_VIEW_ID_BODY)
.setCustomInterface(new CustomInterface() {
@Override
public void onClick(Context context) {
Toast.makeText(mContext, "Switch to SMS login method", Toast.LENGTH_SHORT).show();
mAuthHelper.quitLoginPage();
}
}).build());
int authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
if (Build.VERSION.SDK_INT == 26) {
authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_BEHIND;
}
mAuthHelper.setAuthUIConfig(new AuthUIConfig.Builder()
.setAppPrivacyOne("《Custom Privacy Agreement》", "https://www.qq.com")
.setAppPrivacyTwo("《Baidu》", "https://www.baidu.com")
.setAppPrivacyColor(Color.GRAY, Color.parseColor("#002E00"))
// Hide default switch to other login methods
.setSwitchAccHidden(true)
// Hide default Toast
.setLogBtnToastHidden(true)
// Immersive status bar
.setNavColor(Color.parseColor("#026ED2"))
.setStatusBarColor(Color.parseColor("#026ED2"))
.setWebViewStatusBarColor(Color.parseColor("#026ED2"))
.setLightColor(false)
.setWebNavTextSizeDp(20)
// For passing parameters for images or xml, use the full name without the extension. Files need to be placed in the drawable or drawable-xxx directory, e.g., in_activity.xml, mytel_app_launcher.png
.setAuthPageActIn("in_activity", "out_activity")
.setAuthPageActOut("in_activity", "out_activity")
.setVendorPrivacyPrefix("《")
.setVendorPrivacySuffix("》")
.setPageBackgroundPath("page_background_color")
.setLogoImgPath("mytel_app_launcher")
// Example of one-click login button background in three states: login_btn_bg.xml
.setLogBtnBackgroundPath("login_btn_bg")
.setScreenOrientation(authPageOrientation)
.create());
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Alibaba Cloud Return Codes
| Return Code | Return Code Description | Recommendation |
|---|---|---|
| 600000 | Token retrieval successful | None. |
| 600001 | Authorization page launched successfully | None. |
| 600002 | Authorization page launch failed | Recommend switching to other login methods. |
| 600004 | Failed to obtain carrier configuration information | Create a work order to contact an engineer. |
| 600005 | Mobile terminal is not secure | Switch to other login methods. |
| 600007 | No SIM card detected | Prompt the user to check the SIM card and retry. |
| 600008 | Mobile data network is not enabled | Prompt the user to enable the mobile data network and retry. |
| 600009 | Unable to determine carrier | Create a work order to contact an engineer. |
| 600010 | Unknown exception | Create a work order to contact an engineer. |
| 600011 | Token retrieval failed | Switch to other login methods. |
| 600012 | Pre-fetch number failed | None. |
| 600013 | Carrier maintenance upgrade, this feature is unavailable | Create a work order to contact an engineer. |
| 600014 | Carrier maintenance upgrade, maximum call count for this feature has been reached | Create a work order to contact an engineer. |
| 600015 | Interface timeout | Switch to other login methods. |
| 600017 | App ID, App Key parsing failed | The key is not set or is set incorrectly. Please check the key information first. If the key is correct, create a work order to contact an engineer. |
| 600021 | Carrier switch detected when clicking login | Switch to other login methods. |
| 600023 | Exception loading custom control | Check if the custom control is added correctly. |
| 600024 | Terminal environment check supports authentication | None. |
| 600025 | Terminal detection parameter error | Check if the passed parameter types and ranges are correct. |
| 600026 | Accelerate or pre-fetch number interfaces cannot be called when the authorization page is already loaded | Check if there is behavior where the preLogin or accelerateAuthPage interface is called after the authorization page is launched, which is not allowed. |
Authorization Page Click Event Response Codes:
| Response Code | Response Code Description |
|---|---|
| 700000 | Clicked back, user canceled password-free login. |
| 700001 | Clicked the switch button, user canceled password-free login. |
| 700002 | Clicked the login button event. |
| 700003 | Clicked the check box event. |
| 700004 | Clicked the protocol rich text event. |
# Carrier Error Codes
# China Mobile
| Return Code | Return Code Description |
|---|---|
| 103000 | Success. |
| 102507 | Login timeout (when clicking the login button on the authorization page). |
| 103101 | Request signature error. |
| 103102 | Package signature or Bundle ID error. |
| 103111 | Gateway IP error or wrong carrier request. |
| 103119 | AppID does not exist. |
| 103211 | Other errors, please submit a ticket to contact an engineer. |
| 103412 | Invalid request, including encryption method error, non-JSON format, empty request, etc. |
| 103414 | Parameter validation exception. |
| 103511 | Server IP whitelist validation failed. |
| 103811 | Token is empty. |
| 103902 | Repeated login in a short time, causing the script to become invalid. |
| 103911 | Token requests are too frequent; no more than 30 unused tokens can be obtained within 10 minutes. |
| 104201 | Token repeated validation failed, expired, or does not exist. |
| 105018 | Used a Token obtained from local number verification to fetch the number, resulting in insufficient Token permissions. |
| 105019 | Application is not authorized. |
| 105021 | Daily number fetching limit has been reached. |
| 105302 | AppID is not in the whitelist. |
| 105313 | Illegal request. |
| 200005 | User did not authorize (READ_PHONE_STATE). |
| 200010 | Unable to recognize SIM card or no SIM card (Android). |
| 200020 | User canceled login. |
| 200021 | Data parsing exception. |
| 200022 | No network. |
| 200023 | Request timeout. |
| 200024 | Data network switch failed. |
| 200025 | Location error (usually due to thread exception capture, socket, system not authorizing mobile data network permission, etc. Please submit a ticket to contact an engineer). |
| 200026 | Input parameter error. |
| 200027 | Mobile data network not enabled or network is unstable. |
| 200028 | Network request error. |
| 200038 | Cross-network number fetching network request failed. |
| 200039 | Cross-network number fetching gateway failed. |
| 200048 | User did not install a SIM card. |
| 200050 | EOF exception. |
| 200061 | Authorization page exception. |
| 200064 | Server returned data is abnormal. |
| 200072 | CA root certificate validation failed. |
| 200082 | Server is busy. |
| 200086 | ppLocation is empty. |
| 200087 | Only used to monitor the successful launch of the authorization page. |
| 200096 | Current network does not support number fetching. |
# China Unicom
| Return Code | Return Code Description |
|---|---|
| 0 | Indicates the request was successful. |
| -10008 | JSON conversion failed. |
| 1, Request timeout | Request timeout. |
| 1, Private IP address lookup failed | Failed to find number via private IP. |
| 1, Private IP address validation error | Private IP address validation error. |
| 1, Source IP authentication failed | Source IP authentication failed. |
| 1, Failed to obtain authentication information | Failed to obtain authentication information. |
| 1, Failed to obtain mobile authorization code | Usually caused by request SDK timeout. |
| 1, Gateway failed to obtain number | Gateway failed to obtain number. |
| 1, Network request failed | Network request failed. |
| 1, Signature verification failed | Signature verification failed. |
| 1, The provided code does not match the AppID | The provided code does not match the AppID. |
| 1, Seems to have lost connection to the internet | Unstable network caused connection loss. |
| 1, The certificate for this server is invalid | Connected to an insecure server, submit a ticket to contact engineers. |
| 1, PIP validation failed | Submit a ticket to contact engineers. |
| 1, Gateway concurrent connections limited | Submit a ticket to contact engineers. |
| 1, Data connection not currently allowed | Submit a ticket to contact engineers. |
| 1, Unable to connect to server | Submit a ticket to contact engineers. |
| 1, System internal error | Submit a ticket to contact engineers. |
| 1, Internal error in number acquisition gateway | Internal error in number acquisition gateway, submit a ticket to contact engineers. |
| 1, connect address error | Connection address error, usually caused by timeout. |
| 1, select socket error | Select socket error. |
| 1, handshake failed | Handshake failed. |
| 1, decode ret_url fail | URL decode failed. |
| 1, connect error | Connection error. |
| 1, read failed | Submit a ticket to contact engineers. |
| 1, response null | No response, submit a ticket to contact engineers. |
| 1, Unknown error | Submit a ticket to contact engineers. |
| 2, Request timeout | Interface request time exceeds the value set by timeout. |
# China Telecom
| Return Code | Return Code Description |
|---|---|
| -64 | Permission-denied (No permission to access). |
| -65 | API-request-rates-Exceed-Limitations (API call rate limit exceeded). |
| -10001 | Failed to obtain number, mdn is empty. |
| -10002 | Parameter error. |
| -10003 | Decryption failed. |
| -10004 | IP restricted. |
| -10005 | Abnormal callback parameters for cross-network number retrieval. |
| -10006 | Failed to obtain mdn number, and belongs to China Telecom network. |
| -10007 | Redirected to cross-network number retrieval. |
| -10008 | Exceeded the preset threshold for number retrieval. |
| -10009 | Timestamp expired. |
| -10013 | Perator_unsupported, please submit a work order to contact an engineer. |
| -20005 | Sign-invalid (Signature error). |
| -8001 | Network exception, request failed. |
| -8002 | Request parameter error. |
| -8003 | Request timeout. |
| -8004 | Mobile data network not enabled. |
| -8010 | No network connection (Network error). |
| -720001 | Wi-Fi to 4G switch request exception. |
| -720002 | Wi-Fi to 4G switch timeout. |
| 80000 | Request timeout. |
| 80001 | Network connection failed, network link interrupted, Invalid argument, data connection currently not allowed. |
| 80002 | Response code error 404. |
| 80003 | No network connection. |
| 80005 | Socket timeout exception. |
| 80007 | IO exception. |
| 80008 | No route to host. |
| 80009 | Nodename nor servname provided, or not known. |
| 80010 | Socket closed by remote peer. |
| 80800 | Wi-Fi switch timeout. |
| 80801 | Wi-Fi switch exception. |
# IDaaS Return Codes
| Status Code | Error Code (error_code) | Error Description (error_msg) | Handling Measure |
|---|---|---|---|
| 400 | IDAAS.SDK.COMMON.1001 | Parameter {0} cannot be left blank | |
| Parameter {0} cannot be empty | |||
| 400 | IDAAS.SDK.COMMON.1002 | The {0} parameter format is incorrect | |
| Parameter {0} format error | |||
| 400 | IDAAS.SDK.COMMON.1003 | Device information is incomplete | |
| Device information is incomplete | |||
| 400 | IDAAS.SDK.COMMON.1004 | Signature decryption error | |
| Signature decryption error | |||
| 400 | IDAAS.SDK.COMMON.1005 | The {0} has failed | |
| {0} has expired | |||
| 400 | IDAAS.SDK.COMMON.1006 | The {0} parameter error | |
| {0} parameter error | |||
| 400 | IDAAS.SDK.COMMON.1007 | The {0} parameter type error | |
| {0} parameter type error | |||
| 500 | IDAAS.SDK.COMMON.1008 | The system is busy. Try again later | |
| System busy. Please try again later | |||
| 400 | IDAAS.SDK.COMMON.1009 | Unknown authentication configuration | |
| Unknown authentication configuration | |||
| 400 | IDAAS.SDK.COMMON.1010 | Failed to obtain the enterprise center global configuration | |
| Failed to obtain enterprise center global configuration | |||
| 400 | IDAAS.SDK.COMMON.1011 | Failed to obtain the international area code configuration | |
| Failed to obtain international area code configuration | |||
| 400 | IDAAS.SDK.COMMON.1012 | The x-client-ID is incorrect and the corresponding application cannot be found | |
| X-client-id error, corresponding application cannot be found | |||
| 400 | IDAAS.SDK.COMMON.1013 | The corresponding user is not found | |
| Corresponding user not found | |||
| 400 | IDAAS.SDK.COMMON.1014 | Application private key not found | |
| Application private key not found | |||
| 400 | IDAAS.SDK.LOGIN.1001 | Error calling interface {0} | |
| Error calling interface {0} | |||
| 400 | IDAAS.SDK.LOGIN.1002 | User not bound | |
| User not bound | |||
| 400 | IDAAS.SDK.LOGIN.1003 | The user has been locked due to too many unsuccessful login attempts. It will be unlocked in {0} minutes and {1} seconds | |
| The user has been locked due to multiple failed login attempts. It will be unlocked in {0} minutes and {1} seconds | |||
| 400 | IDAAS.SDK.LOGIN.1004 | Failed to obtain the password policy | |
| Failed to obtain password policy | |||
| 400 | IDAAS.SDK.LOGIN.1005 | Invalid username or password. Remaining login attempts: {0} | |
| Invalid username or password. Remaining login attempts: {0} | |||
| 400 | IDAAS.SDK.LOGIN.1006 | Configuration error, unable to find wechat authentication source | |
| Configuration error, unable to find WeChat authentication source | |||
| 400 | IDAAS.SDK.LOGIN.1007 | Configuration error, unable to find alipay authentication source | |
| Configuration error, unable to find Alipay authentication source | |||
| 400 | IDAAS.SDK.LOGIN.1008 | The configuration is incorrect. The one-click login authentication source cannot be found | |
| Configuration error, one-click login authentication source cannot be found | |||
| 400 | IDAAS.SDK.SMS.1001 | {0} slide base map is not initialized successfully, please check the path | |
| {0} slide base map initialization failed, please check the path | |||
| 400 | IDAAS.SDK.SMS.1002 | {0} verification code coordinate resolution failed | |
| {0} verification code coordinate resolution failed | |||
| 400 | IDAAS.SDK.SMS.1003 | {0} verification code coordinate verification fails | |
| {0} verification code coordinate verification failed | |||
| 400 | IDAAS.SDK.SMS.1004 | The graphic verification code is incorrect | |
| Graphic verification code validation error | |||
| 400 | IDAAS.SDK.SMS.1005 | SMS verification code verification is incorrect | |
| SMS verification code validation error | |||
| 400 | IDAAS.SDK.SMS.1006 | The email verification code is incorrect | |
| Email verification code validation error | |||
| 400 | IDAAS.SDK.SMS.1007 | Sending scenario does not exist | |
| Sending scenario does not exist | |||
| 400 | IDAAS.SDK.SMS.1008 | Failed to send the verification code | |
| Failed to send verification code | |||
| 400 | IDAAS.SDK.SOCIAL.1001 | The social account is unbound incorrectly | |
| Social account unbinding error | |||
| 400 | IDAAS.SDK.SOCIAL.1002 | The social account has been bound, please unbind it first | |
| Social account already bound, please unbind first | |||
| 400 | IDAAS.SDK.PWD.1001 | The password length is incorrect | |
| Password length error | |||
| 400 | IDAAS.SDK.PWD.1002 | The password cannot be the username | |
| Password cannot be the username | |||
| 400 | IDAAS.SDK.PWD.1003 | Your password complexity is low | |
| Your password complexity is too low | |||
| 400 | IDAAS.SDK.PWD.1004 | The password is weak | |
| Password is too weak | |||
| 400 | IDAAS.SDK.PWD.1005 | The password is used before, cannot be used again | |
| This password has been used before and cannot be used again | |||
| 400 | IDAAS.SDK.PWD.1006 | Password cannot username in reverse order | |
| Password cannot be the reverse of the username | |||
| 400 | IDAAS.SDK.PWD.1007 | The number of repeated password characters exceeded the upper limit | |
| Number of repeated password characters exceeds limit | |||
| 400 | IDAAS.SDK.PWD.1008 | Password cannot contain :username, phone number, email prefix, name in PinYing | |
| Password cannot contain: username, phone number, email prefix, name in Pinyin | |||
| 400 | IDAAS.SDK.MFA.1001 | The mobile doesn't match the user | |
| Mobile number does not match the user | |||
| 400 | IDAAS.SDK.MFA.1002 | The access control policy is incorrect | |
| Access control policy configuration error | |||
| 400 | IDAAS.SDK.MFA.1003 | Access control authentication source type conversion error | |
| Access control authentication source type conversion error |
I am ready. Please provide the Markdown content you would like me to translate.
