以我身份运行的Google Apps Script Web App如何识别真实用户会话?
解决Google Apps Script Web App用户会话识别问题
自定义会话令牌机制
用户完成自定义登录后,用Utilities.getUuid()生成唯一随机令牌,把令牌和你的自定义系统用户ID绑定,存到Google表格的专门会话表里(字段设令牌、用户ID、过期时间)。
之后用户每次请求Web App,必须在URL参数或POST表单里带这个令牌。后端脚本拿到令牌后,去会话表查对应的用户信息,就能识别真实用户。记得给令牌设过期时间,定期清理失效会话。请求特征组合的临时标识(仅辅助)
可以把用户请求的IP(e.parameter.remoteIp)和请求头里的User-Agent拼接后生成哈希值,作为临时标识。但这方法不靠谱——同一网络下多个用户IP相同,用户换设备/浏览器就会失效,只能配合令牌机制用,不能单独依赖。备选:调整Web App部署模式(不符合需求时忽略)
如果能放宽“无需Google账户”的要求,把Web App改成“以访问者身份运行”,这样Session.getActiveUser()就能拿到用户的Google账户信息,但这和你的原始需求冲突,所以只作备选方案。
内容的提问来源于stack exchange,提问作者kxm
相关产品推荐
相关产品推荐

