【发布时间】:2016-10-16 02:37:54
【问题描述】:
我正在制作一个开源 Node 模块,它需要访问每个用户的私有 Google Drive 文件。我一直在尝试解决所有这些不同的身份验证类型,但遇到了障碍。根据我收集到的信息,有两种主要的身份验证类型
我,图书馆作者,在我的图书馆中提供了使用 OAuth2 对每个用户进行身份验证所需的公钥和私钥。这意味着给他们一个 URL 以允许我的应用程序访问他们的数据,并让他们将访问代码复制并粘贴回他们的终端。我能够通过this 教程运行并让它工作,但这种方法似乎很危险,因为我必须与我的库打包密钥,并且不必要地困难。
让用户进入 Google API 控制台,获取他们自己的 API 密钥,并通过某种配置文件将其提供给我的库。没有 URL 重定向,没有复制和粘贴,只有一些只有他们才能访问的私有凭据。
2 对我来说听起来好多了:这个库一旦在用户手中就与我完全无关,所以让他们与我进行身份验证感觉不正确。但据我所知,使用 Google 的 API 执行此操作的唯一方法是创建一个 Google 服务帐户,下载他们提供给您的 JSON,通过类似于 this 博客文章的顶部评论的流程,然后手动授予服务帐户电子邮件访问我的个人 Google Drive 文件的权限。这似乎很老套,并且需要做很多工作才能访问我自己的私人数据。有没有更好的方法来解决这个问题?我觉得奇怪的是,其他 API 中的这种相当标准的流程只能通过服务帐户在 Google 的 API 中使用,但也许有一种方法,我只是没有看到。我对身份验证相当陌生,因此非常感谢任何帮助。谢谢!
【问题讨论】:
标签: javascript node.js google-api google-oauth google-authentication