作业5 身份认证
名称缩写:C:顾客;D:快递员;S:服务器;
功能:
顾客和快递员需要登录服务器以使用APP,服务器对用户的身份进行标识;
快递员需要:
- 向服务器上传送达信息;
- 处理订单;
- 核验用户身份;
顾客需要:
- 查看订单信息;
- 获取验证信息;
服务器需要:
- 验证登录信息;
- 处理用户请求;
- 发送验证信息;
- 验证取货信息;
三者关系:
- 用户(分为快递员、顾客)需要登录服务器,进行身份认证,登录后可向服务器发送请求;
- 快递员送达后通知服务器,服务器回复快递员并向用户发送验证信息;
- 用户使用验证信息向快递员核对,由快递员向服务器发送进行验证,验证成功后服务器回复快递员验证结果。
交互过程:
1.用户登录
C|D--Request||IDc||TS1-->S;
S--Ekc[Back||Ticket||Lifetime||TS2]-->C|D;
Request:用户请求;
IDc:用户ID;
EKc:使用用户ID进行加密;
Back:反馈消息;
Ticket:用户许可证;
TSn:ticket签发时间;
Lifetime:ticket有效期;
2.快递员送达
D--IDa||Ticketa||Message-->S;
S--Eka[Feedback]-->D;
S--Ekb[IDa||Check]-->C;
IDa:快递员身份信息;
Ticketa:快递员许可证;
Message:消息;
feedback:服务器返回消息;
Check:验证信息;
3.用户取快递&验证
C--IDb||Check-->D;
D--Check||IDb||Ticketa-->S;
S--Eka[isCorrect||Info]-->D;
D--isCorrect-->C;
IDb:顾客身份信息;
isCorrect:验证结果;
info:验证信息