目标
本文档主要讲述
- app移动端调用服务端的登录接口完成登录,取得AppToken的过程。
参与角色
- app移动端;
- 服务端的登录接口或业务接口;
|
通信协议:
http协议,https协议。
APP调用登录接口
接口地址: http://127.0.0.1:8081/wap /api/v1/user/login/app.htm
账号登录时的参数:
-
- 用户名:loginName 必填
- 密码:password 必填
- 登录类型:type 必填,1表示账号登录,2表示手机号登录
手机号登录时的参数:
-
- 手机号:phone 必填
- 短信验证码:smsCode 必填
- 登录类型: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数据包含以下信息
- 用户名
- 用户头像
- 用户id
- 是否是 采购商
登录失败时返回的数据格式
{"status":"400","message":"数据验证失败:密码不正确","data":"","page":{}}
原理
请看文档: AppToken登录认证设计
接口测试截图
修正:下图中的apptoken应为ApptToken
统一数据包装体和状态码
请看说明文档: 统一数据包装体和状态码
安全注意事项
AppToken在app端需要被保护不要丢失,坏人获取到 AppToken后就可以你的身份调用服务端接口了(sessionid也是这样的)。
只在调用我方服务端接口时携带 AppToken,在调用第三方接口时不要携带 AppToken。