会员登录
会员登录分为账号密码登录、手机验证码登录和第三方平台账号登录
会员登录成功会生成Token信息,客户端接收到Token信息后,会将Token信息存放在浏览器的localstorage中
当前文档主要针对前两种登录方式,第三方平台账号登录请参考第三方平台账号登录
账号密码登录
流程图
重点步骤说明:
- 步骤1:填写的信息包含登录账号、密码和验证信息
- 步骤2:在提交时,前端会对用户输入的密码进行md5加密
- 步骤3:系统会获取当前开启的验证方式信息,然后调用不同的验证接口进行验证,具体可参考验证方式平台架构
- 步骤5:密码验证时,会把前端提交的已经进行md5加密的密码和用户名组合在一起再一次进行md5加密,然后再和数据库中存放的用户密码进行比对校验
- 步骤6-8:token信息包括accessToken和refreshToken,具体可参考基于Token机制鉴权架构文档
API接口
API地址: | https://{buyer-api-domain}/buyer/passport/login | |
---|---|---|
请求方式: | POST | |
参数1: | username | 登录账号(用户名、手机号或邮箱) |
参数2: | password | 登录密码 |
请求示例:
POST: https://passport.xx.com/buyer/passport/login?username=zhangsan&password=123456
返回结果为MemberVO对象,内容包含如下:
uid | 会员ID |
---|---|
username | 会员名称 |
nickname | 会员昵称 |
accessToken | token令牌 |
refreshToken | 刷新token |
face | 会员头像 |
返回结果示例:
{
"uid":"1681589993696092162",
"username":"zhangsan",
"nickname":"小张三",
"access_token":"eyJhbGciOiJIUzUxMiJ9.eyJ1aWQiOjE2ODE1ODk5OTM2OTYwOTIxNjIsInN1YiI6InVzZXIiLCJyb2xlcyI6WyJCVVlFUiJdLCJleHAiOjE2OTEwNjYxMTAsInV1aWQiOiJhZTVlMDYzZi00MDA2LTQxZDEtYTJkMi05ZjgxZDhkMzUxMTMiLCJ1c2VybmFtZSI6ImR1YW4ifQ.RxwmBaKk3gOzj8zN8ig_qegaBX778P0CyKFt1hOS-FjrM7rHpGNggn0oPRx_JMxN_DO7nRFEilQEpV9uLG_BPg",
"refresh_token":"eyJhbGciOiJIUzUxMiJ9.eyJ1aWQiOjE2ODE1ODk5OTM2OTYwOTIxNjIsInN1YiI6InVzZXIiLCJyb2xlcyI6WyJCVVlFUiJdLCJleHAiOjE2OTExMjYxMTAsInV1aWQiOiJhZTVlMDYzZi00MDA2LTQxZDEtYTJkMi05ZjgxZDhkMzUxMTMiLCJ1c2VybmFtZSI6ImR1YW4ifQ.MAHAnIyOpJlwCca1WXqsLZ2zKrLRN6raAJUX9dZTGkz3cPh-2LhX5ScYTQB7fiIikRtTJ_VOQp_eI21VuK-twA",
"face":"https://javashop-statics.oss-cn-beijing.aliyuncs.com/test/normal/5B3EE3A695944624A2885C171B4A200F.jpg"
}
手机验证码登录
流程图
重点步骤说明:
- 步骤1:填写的信息包含手机号码和验证信息
- 步骤3:系统会获取当前开启的验证方式信息,然后调用不同的验证接口进行验证,具体可参考验证方式平台架构
- 步骤6-8:token信息包括accessToken和refreshToken,具体可参考基于Token机制鉴权架构文档
API接口
手机验证码发送接口
API地址: | https://{buyer-api-domain}/buyer/passport/login/smscode/{mobile} | mobile:接收短信验证码的手机号 |
---|---|---|
请求方式: | POST |
请求示例:
POST: https://passport.xx.com/buyer/passport/login/smscode/13699998888
当前接口返回数据为验证码的有效时间,单位为:分钟
手机验证码登录接口
API地址: | https://{buyer-api-domain}/buyer/passport/login/{mobile} | mobile:登录手机号 |
---|---|---|
请求方式: | POST | |
参数1: | sms_code | 手机短信验证码 |
参数2: | uuid | 客户端唯一标识 |
请求示例:
POST: https://passport.xx.com/buyer/passport/login/13699998888?sms_code=1111&uuid=ae5e063f-4006-41d1-a2d2-9f81d8d35113
返回结果为MemberVO对象,内容包含如下:
uid | 会员ID |
---|---|
username | 会员名称 |
nickname | 会员昵称 |
accessToken | token令牌 |
refreshToken | 刷新token |
face | 会员头像 |
返回结果示例:
{
"uid":"1681589993696092162",
"username":"zhangsan",
"nickname":"小张三",
"access_token":"eyJhbGciOiJIUzUxMiJ9.eyJ1aWQiOjE2ODE1ODk5OTM2OTYwOTIxNjIsInN1YiI6InVzZXIiLCJyb2xlcyI6WyJCVVlFUiJdLCJleHAiOjE2OTEwNjYxMTAsInV1aWQiOiJhZTVlMDYzZi00MDA2LTQxZDEtYTJkMi05ZjgxZDhkMzUxMTMiLCJ1c2VybmFtZSI6ImR1YW4ifQ.RxwmBaKk3gOzj8zN8ig_qegaBX778P0CyKFt1hOS-FjrM7rHpGNggn0oPRx_JMxN_DO7nRFEilQEpV9uLG_BPg",
"refresh_token":"eyJhbGciOiJIUzUxMiJ9.eyJ1aWQiOjE2ODE1ODk5OTM2OTYwOTIxNjIsInN1YiI6InVzZXIiLCJyb2xlcyI6WyJCVVlFUiJdLCJleHAiOjE2OTExMjYxMTAsInV1aWQiOiJhZTVlMDYzZi00MDA2LTQxZDEtYTJkMi05ZjgxZDhkMzUxMTMiLCJ1c2VybmFtZSI6ImR1YW4ifQ.MAHAnIyOpJlwCca1WXqsLZ2zKrLRN6raAJUX9dZTGkz3cPh-2LhX5ScYTQB7fiIikRtTJ_VOQp_eI21VuK-twA",
"face":"https://javashop-statics.oss-cn-beijing.aliyuncs.com/test/normal/5B3EE3A695944624A2885C171B4A200F.jpg"
}