UniApp2024-10-313 min

uni-id 配置文件详解

更新版的 uni-id config.json 配置说明及 passwordSecret 问题解决

uni-id 配置文件详解

#目录

#配置文件

现有的很多文章的config.json较旧,且新版的配置文件在官网的描述中并不清楚,故更新一版。

首先要有uni-id下的config.json,如果没有则自己创建。

配置文件路径

官网的示例中没有很清楚地给出passwordSecret的属性,应该包括type,version,value三个字段,其中type是加密算法,默认为SHA256

{
  "passwordSecret": [
    {
      "type": "hmac-sha256",
      "value": "", //value填入随机字符串,如果复制代码请删掉注释
      "version": 1
    }
  ],
  "passwordStrength": "weak",
  "tokenSecret": "",
  "requestAuthSecret": "",
  "tokenExpiresIn": 7200,
  "tokenExpiresThreshold": 3600,
  "maxTokenLength": 10,
  "passwordErrorLimit": 6,
  "passwordErrorRetryTime": 3600,
  "autoSetInviteCode": false,
  "forceInviteCode": false,
  "idCardCertifyLimit": 1,
  "realNameCertifyLimit": 5,
  "sensitiveInfoEncryptSecret": "",
  "frvNeedAlivePhoto": false,
  "userRegisterDefaultRole": ["user"],
  "app": {
    "tokenExpiresIn": 2592000,
    "tokenExpiresThreshold": 864000,
    "oauth": {
      "weixin": {
        "appid": "",
        "appsecret": ""
      },
      "qq": {
        "appid": "",
        "appsecret": ""
      },
      "apple": {
        "bundleId": ""
      }
    }
  },
  "web": {
    "tokenExpiresIn": 7200,
    "tokenExpiresThreshold": 3600,
    "oauth": {
      "weixin-h5": {
        "appid": "",
        "appsecret": ""
      },
      "weixin-web": {
        "appid": "",
        "appsecret": ""
      }
    }
  },
  "mp-weixin": {
    "tokenExpiresIn": 259200,
    "tokenExpiresThreshold": 86400,
    "oauth": {
      "weixin": {
        "appid": "",
        "appsecret": ""
      }
    }
  },
  "mp-qq": {
    "tokenExpiresIn": 259200,
    "tokenExpiresThreshold": 86400,
    "oauth": {
      "qq": {
        "appid": "",
        "appsecret": ""
      }
    }
  },
  "mp-alipay": {
    "tokenExpiresIn": 259200,
    "tokenExpiresThreshold": 86400,
    "oauth": {
      "alipay": {
        "appid": "",
        "privateKey": "",
        "keyType": "PKCS8"
      }
    }
  },
  "service": {
    "sms": {
      "name": "",
      "codeExpiresIn": 180,
      "scene": {
        "bind-mobile-by-sms": {
          "templateId": "",
          "codeExpiresIn": 240
        }
      }
    },
    "univerify": {
      "appid": ""
    }
  }
}

#可能遇到的问题

开发调试过程中可能会修改passwordSecret,但是这会导致之前注册的账号都无法登录,且会提示:

 

修改passwordSecret

如果要修改passwordSecret,正确的做法是版本迭代,以下是官方的示例:

{
  "passwordSecret": [
    {
      "version": 1,
      "value": "passwordSecret-demo"
    },
    {
      "version": 2,
      "value": "qwertyasdfgh"
    },
    {
      "version": 3,
      "value": "1q2w3e4r5t"
    }
  ]
}