背景
用户服务是对使用gateway的客户进行管理的服务,想使用gateway的用户通过门户网站进行注册,登陆之后申请API进行测试调用。

用户服务包括以下几个功能:

  • 个人用户相关:个人用户注册,登录,注销
  • 机构用户相关:

    • 管理端录入用户-发送激活验证码-用户去激活画面凭借手机号和机构号激活,激活的同时生成密钥对和appSecret。
    • 登录
    • 申请API
    • 查看api调用情况
    • 查看AppSecret,上传机构公钥,下载平台公钥
  • 内网用户相关:管理端录入并激活,没有密钥对,只有appSecret

机构用户状态转移图:
image.png
已录入2(发送激活短信,修改用户信息,销户)-待激活3(可发送激活验证码,修改用户信息,销户)-已激活1(修改用户信息,销户,修改密码,登陆)-已销户0。不同的状态对应机构和管理员可进行不同的操作。
在信息录入的时候,需要进行的校验:密码强度;机构号格式;手机号格式;用户名格式;邮箱格式。

用户服务涉及敏感性息,应避免用户密码被泄漏,因此关于安全性考虑如下:

  • 用户在注册、登录等需要传输密码的场合,密码均加密传输
  • 密码在数据库中加密保存
  • 设置密码时,检查密码强度,至少六位数字及大小写字母的组合
  • 用户1分钟内登录失败5次及以上就锁定用户,24小时内无法再次登录,避免用户名泄漏后被暴力破解
  • 用户在登录时,增加图片验证码。图片验证码使用后即失效
  • 机构用户激活/用户找回密码时使用到手机验证码,手机验证码有效期为5分钟,每分钟最多发一次,输错5次即失效
  • 如果用户名或密码错误,弹出“用户名或密码”错误,而不是“用户名不存在”,“密码错误”等提示信息,避免枚举用户名或机构号

技术细节的实现:

  • 密码加密传输
  • 密码在数据库中加密保存
  • 图片验证码
  • 手机验证码的有效期和发送次数

吃水果毫不费力zz
7 声望0 粉丝

啦啦啦