我需要阿里云的某台服务器给客户端下发百度语音识别sdk的access_token, 这个token只给有权限的角色下发. 我可以让客户端上传session, 然后在阿里云的服务器用这个session登录, 然后检查权限再下发吗?这样符合设计规范吗? 还是有其他更建议的解决方案
session token 的作用是让 LeanCloud 服务端识别客户端的身份。向 LeanCloud 以外的第三方传递 session token 会增大安全风险,因为有了 session token 就能直接以相应用户的身份调用 LeanCloud 的 API。
可以考虑这样设计来避免将 session token 传递到外部:
objectId
感谢 非常好的建议
如果使用object, 有个问题是objectId无法修改. 在下面这种情况下:
我们发现某个用户因为被窃取而频繁请求access_token. 可能该用户的密码泄露或者该用户自己就是恶意用户. 如果使用的是session token, 此时我可以让该用户修改密码来更新session_token以重新获取有效的access_token.如果使用objectId则只能将该用户永久封禁了
换句话说,当我接收到了一个带着objectId来的请求, 只能证明这个objectid有权限. 但是无法证明来请求的这个人真的就是这个objectid对应的User. 因为objectId里没有登录状态