Bind User with Username and Password
When a user enters the mini program and uses WeChat login for the first time, they cannot log in using openid and unionid. The user must first bind an existing username and password. After binding is completed, the user can subsequently log in directly via openid and unionid when using WeChat login within the mini program. If the username and password entered by the user are incorrect, the binding cannot be completed. If an enterprise expects that only users who have already registered in the system and possess a username and password can log in to the mini program, this interface can be called. Before calling this interface, a temporary token must be obtained via the WeChat Mini Program Login API.
# Request Description
POST https://{your_domain}/api/v2/sdk/social/username-password-bind
# Request Headers
| Parameter Name | Chinese Name | Required | Type | Example |
|---|---|---|---|---|
| X-operating-sys-version | Calling Client Operating System Version | Yes | String | windows10.1.1 |
| X-device-fingerprint | Calling Client Device Fingerprint | Yes | String | 156aysdna213sc50 |
| X-device-ip | Calling Client IP | No | String | 192.168.1.2 |
| X-agent | User-Agent Information | Yes | String | Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) |
| X-L | For Internationalization Language Setting | No | String | zh |
| X-client-id | Application Authorization ID | Yes | String | nTo1eRIub60vPb54WeE6aojPwYwImtl4 |
| X-state-token | Temporary Token | Yes | String | eyJhbcOiJ……nEPRiIC4we0 |
| content-type | Content Format Type | Yes | String | application/json |
# Request Example
{
"user_name":"zhangshan",
"password":"password"
}
2
3
4
# Request Parameters
| Parameter Name | Chinese Name | Required | Type | Description |
|---|---|---|---|---|
| user_name | Username | Yes | String | Username entered by the user |
| password | Password | Yes | String | Password entered by the user |
# Response Example
Success Example:
HTTP/1.1 200 OK
Content-Type: application/json
{
"session_token": "btsiBjx85prcZu6I6Ki057Tmw3nSF2VO",
"expire": 432000,
"status": "SUCCESS",
"id_token": "eyJraWQn0.eyJpc3MiOiJodHR…g1A7jG8O0uw"
}
Error Example:
HTTP/1.1 400 Bad Request
{
"error_code": "IDAAS.SDK.COMMON.1007",
"error_msg": "state_token parameter error"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Response Parameters
| Parameter Name | Chinese Name | Type | Description |
|---|---|---|---|
| status | Login Process Status Identifier | String | SUCCESS: Login successful SOCIAL_BIND: Binding process USER_REGISTER: Auto-registration binding process ACCESS_DENIED: Access denied MFA_AUTH: Secondary authentication |
| expire | session_token Validity Period | Number | Session_token validity period |
| session_token | User session_token | String | User session_token |
| id_token | Identity token for the logged-in user, short-term valid | String | This field is in JWT format and contains user identity information. Please refer to Get User Information from id_token to obtain user information. The token validity period is 5 minutes by default. |
