我想要完成的是,考虑到我拥有所有必需的令牌(accessToken、refreshToken、authorization)。它完美地完成了这项工作,但带有帐户链接。
我知道这个问题听起来很奇怪,但我想的是,即使我有了从google-calendar-API (资源服务器)获取数据所需的所有令牌,请求如何知道从哪个帐户获取数据。令牌中是否有任何accountID将只向该特定帐户请求数据。
请分享你的想法。如果我错了,请纠正我。
谢谢
编辑:通过帐户链接,我的意思是,输入帐户凭据并登录
发布于 2019-02-19 16:02:25
我不是100%确定我理解你的问题。
当用户登录并授予您的应用程序访问Google日历api的权限时。将向您授予访问令牌和刷新令牌。刷新令牌只能通过向google指明您的应用程序来使用您的客户端id。访问令牌和刷新令牌也由特定用户授予,并且只能检索该用户的数据。有问题的用户还授予您的应用程序对其google日历数据的访问权限,这意味着访问令牌只能由您的应用程序用于访问google日历数据,而不是google驱动器数据。
存储在这些令牌中的声明告诉google哪个应用程序代表哪个用户访问数据。
如果你想访问用户在谷歌上的信息,那么你需要他们登录并同意你访问他们的数据。这称为身份验证和授权。
帐户链接是完全不同的东西。
帐户链接
假设我在我们的网站上有一个网站,我们有自己的用户系统,用户在其中创建帐户,他们被存储在数据库中。用户在我们的系统上有一个登录名和密码,他们用来登录。
现在,如果我们想要为我们的用户提供使用他们的Facebook和google帐户登录的选项,该怎么办?如果他们这样做,他们最终可能会创建一个全新的帐户。或者我们可以允许帐户链接
帐户链接是将一个系统上的用户登录与另一个系统上的用户登录相关联的一种方式。因此,当用户使用他们的Google帐户登录时,从我们的用户数据库中我们知道它的John Snow也是google上的北方之王。这些帐户是链接在一起的。所以我知道,当北方之王用他的谷歌账号登录时,实际上是我们系统上的用户叫约翰·斯诺。
从技术上讲:我只用asp .net核心做到了这一点,但这里是它的工作原理。约翰·斯诺登录了我们的系统。我们给他一个按钮来连接他的Google账户。John点击按钮并登录到Google。Google返回了一个北方之王的用户id,我将其与我们系统上的John Snows用户id关联起来。
开放式Id
账号链接是更开放的id,因为它的Authentication。执行操作的人已经输入了他们的登录名和密码,并自行验证了他们的身份。
Oauth2
API是您的访问令牌和刷新令牌,用于获取对Oauth2的访问。这指的是您有权访问数据的Authorization,但是使用访问令牌和刷新令牌的用户不一定是向api发送请求的用户。
https://stackoverflow.com/questions/54760697
复制相似问题