【发布时间】:2019-09-06 13:51:51
【问题描述】:
我有一个与 Google 服务集成的应用程序(具体来说是 Google Bigquery API。)
我在客户端对用户进行身份验证,没有离线访问范围(因此没有刷新令牌),并且在客户端执行大部分操作。但是我想在服务器端执行一些操作(仍然代表经过身份验证的用户。)
目前,我正在将访问令牌传递到服务器端(通过 https),使用此令牌在服务器端初始化 Google 库,并在那里执行操作。
我在 Google 上找到的有关这方面的文档要么在服务器端使用身份验证,要么使用刷新令牌,要么完全在客户端。找不到针对这种混合情况提出最佳做法的文档。
简而言之,我想做的是,在后端使用在客户端获取的短期访问令牌。
这种方法是否存在任何安全风险?不管怎样,这是做我想做的事情的建议方式吗?
【问题讨论】:
-
嗨@Ozgur,我觉得这是一个有点离题的问题,也是一个非常笼统的安全问题,不一定与 BigQuery 相关。说作为一个拇指滚动,我总是建议/更喜欢在服务器端存储一个令牌并使用服务器端逻辑,因为出于许多原因这更安全。
-
@TamirKlein 非常感谢您的反馈。我通常也会在后端存储一个令牌,但这需要从用户那里获得离线访问权限,这是我不想要的。这就是我尝试使用在客户端获取的令牌的原因。
标签: google-cloud-platform google-bigquery google-python-api