目标

本文档主要讲述

  1. app移动端调用服务端的登录接口完成登录,取得AppToken的过程。

参与角色

  1. app移动端;
  2. 服务端的登录接口或业务接口;

通信协议:

http协议,https协议。

APP调用登录接口

接口地址: http://127.0.0.1:8081/wap /api/v1/user/login/app.htm

账号登录时的参数:

    1. 用户名:loginName    必填
    2. 密码:password    必填
    3. 登录类型:type    必填,1表示账号登录,2表示手机号登录

手机号登录时的参数:

    1. 手机号:phone    必填
    2. 短信验证码:smsCode    必填
    3. 登录类型:type    必填,1表示账号登录,2表示手机号登录

登录类型:1表示账号登录,2表示手机号登录,只可传1或2,传其它值服务端返回json格式的错误提示信息。

登录成功时返回的数据格式

登录成功后,会返回AppToken和用户基本信息,请app端持久化保存。

AppToken的有效期 :默认有效期是3个月,当app每访问一次服务端时,服务端会为AppToken续命赋予新的3个月有效期。

{
"status":"200",
"message":"登录成功",
"data":{
	"AppToken":"22bcf04ccbbc48b88cf2acb0d879846d",
	"user":{"userName":"fanxiuxiu3","userId":621,"isTypeUserPurchaser":true}
	},
"page":{}
}

服务端返回的数据

app登录成功后,从服务端返回两样东西:AppToken和用户信息json数据, 要存储 在客户端存储,请客户使用本地存储( LocalStorage )来持久化保存。

用户信息json数据包含以下信息

  1. 用户名
  2. 用户头像
  3. 用户id
  4. 是否是 采购商

登录失败时返回的数据格式

{"status":"400","message":"数据验证失败:密码不正确","data":"","page":{}}

原理

请看文档: AppToken登录认证设计

接口测试截图

修正:下图中的apptoken应为ApptToken


统一数据包装体和状态码

请看说明文档: 统一数据包装体和状态码

安全注意事项

AppToken在app端需要被保护不要丢失,坏人获取到 AppToken后就可以你的身份调用服务端接口了(sessionid也是这样的)。

只在调用我方服务端接口时携带 AppToken,在调用第三方接口时不要携带 AppToken。