2. User Login
User Login
POST
/api/user_login_v2/
Parameters in Body | Type | Required | Parameters Description |
---|---|---|---|
userid | string | Yes | userid |
did_type | string | Yes | eth |
did_value | string | Yes | wallet address |
timestamp | int | Yes | timestamp milliseconds |
pubkey_expired_timestamp | int | Yes | timestamp milliseconds |
login_signature | string | Yes | login signature |
signature_content | string | Yes | signature_content |
main_pubkey | string | Yes | register api public key |
pubkey_type | string | Yes | ed25519 |
pubkey_value | string | Yes | pubkey_value |
nickname | string | No | nickname |
avatar_url | string | No | avatar_url |
testnet_access_key | string | Yes | testnet_access_key |
// your_MainPrivateKey is Register api generate KeyPair' private key
let signature_content = sha3_224 hash(userid + pubkey_value + pubkey_expired_timestamp + timestamp) // string join
let login_signature = your_MainPrivateKey signing(signature_content); // base64 format
{
"testnet_access_key": "testnet_access_key",
"userid": "user:3fasdf324234",
"did_type": "eth",
"did_value": "0x123456",
"main_pubkey": "<your register main_pubkey>",
"login_signature": "<your login_signature>",
"signature_content": "<your signature_content>",
"pubkey_value": "pubkey",
"pubkey_type": "ed25519",
"timestamp": 160000000,
"pubkey_expired_timestamp": 160050000,
"nickename": "nickename",
"avatar_url": "avatar_url"
}
response
Parameters | Type | Always Return | Parameters Description |
---|---|---|---|
code | int | Yes | result code, 0 means success, other code see msg's contents |
msg | string | Yes | result description |
data | dict | Yes | return includes response info |
{
"code": 0,
"msg": "ok",
"data": {
"userid": "userid",
"did_value": "wallet_address",
"did_type": "eth"
}
}