谁是OAuth2.0中两个应用程序之间的身份验证服务器,例如,在谷歌和推特之间

sf6xfgos  于 2022-09-21  发布在  其他
关注(0)|答案(1)|浏览(186)

我知道OAuth2.0是用来授权应用程序之间的数据请求的框架,但要提供这种访问,需要身份验证服务器。我的问题是:这个服务器是谁?比方说:我们有两款应用程序:Twitter和谷歌。我正在尝试使用谷歌帐号注册Twitter帐号。**身份验证服务器现在在哪里?**是Google吗?或者它可能是另一台第三方服务器(由Twitter和谷歌共同管理,用户数据在哪里?)如果是谷歌,Twitter如何检查用户令牌(由身份验证服务器[Google??]生成)是有效的吗?

谢谢

q1qsirdb

q1qsirdb1#

关于你的第一个问题,
我正在尝试使用谷歌帐号注册Twitter帐号。那么现在身份验证服务器在哪里呢?是谷歌吗?

是的,这是谷歌。如果你试图通过谷歌登录/注册Twitter,谷歌是授权服务器。因为,谷歌必须授权/授权Twitter访问您的数据,如您的Gmail ID、用户名等。

一旦你点击Twitter注册页面上的“向谷歌注册”按钮,你将首先被重定向到谷歌登录页面(看看你是否是经过身份验证的谷歌用户),然后谷歌会向你显示一个同意页面,上面写着“Twitter正在尝试读取你的个人资料数据,你同意吗?”一旦你点击“允许”按钮,谷歌将生成一个访问令牌、id_令牌和刷新令牌,并将其传递给Twitter。

关于你的第二个问题,
如果是谷歌,Twitter如何检查用户令牌(由身份验证服务器[Google??]生成)是有效的吗?

Twitter不会对这些令牌进行验证。Twitter可以传递令牌,以从Google的资源服务器(您的所有数据驻留在那里)检索您的Google个人资料信息

谷歌的资源服务器将对令牌进行验证。它首先检查令牌的“ISS”声明,看看令牌是否是由谷歌授权服务器颁发的。此外,它还将检查‘AUD’,以查看是否为他们(令牌的接收者)颁发了令牌。最后,它检查“作用域”声明,看看Twitter是否有权请求数据。例如,他们只需要请求对您的个人资料进行只读访问,而不是写入访问。根据用例的不同,可能会有额外的验证。

我希望这能回答你的问题。

相关问题