我知道OAuth2.0是用来授权应用程序之间的数据请求的框架,但要提供这种访问,需要身份验证服务器。我的问题是:这个服务器是谁?比方说:我们有两款应用程序:Twitter和谷歌。我正在尝试使用谷歌帐号注册Twitter帐号。**身份验证服务器现在在哪里?**是Google吗?或者它可能是另一台第三方服务器(由Twitter和谷歌共同管理,用户数据在哪里?)如果是谷歌,Twitter如何检查用户令牌(由身份验证服务器[Google??]生成)是有效的吗?
谢谢
q1qsirdb1#
关于你的第一个问题,我正在尝试使用谷歌帐号注册Twitter帐号。那么现在身份验证服务器在哪里呢?是谷歌吗?
是的,这是谷歌。如果你试图通过谷歌登录/注册Twitter,谷歌是授权服务器。因为,谷歌必须授权/授权Twitter访问您的数据,如您的Gmail ID、用户名等。
一旦你点击Twitter注册页面上的“向谷歌注册”按钮,你将首先被重定向到谷歌登录页面(看看你是否是经过身份验证的谷歌用户),然后谷歌会向你显示一个同意页面,上面写着“Twitter正在尝试读取你的个人资料数据,你同意吗?”一旦你点击“允许”按钮,谷歌将生成一个访问令牌、id_令牌和刷新令牌,并将其传递给Twitter。
关于你的第二个问题,如果是谷歌,Twitter如何检查用户令牌(由身份验证服务器[Google??]生成)是有效的吗?
Twitter不会对这些令牌进行验证。Twitter可以传递令牌,以从Google的资源服务器(您的所有数据驻留在那里)检索您的Google个人资料信息
谷歌的资源服务器将对令牌进行验证。它首先检查令牌的“ISS”声明,看看令牌是否是由谷歌授权服务器颁发的。此外,它还将检查‘AUD’,以查看是否为他们(令牌的接收者)颁发了令牌。最后,它检查“作用域”声明,看看Twitter是否有权请求数据。例如,他们只需要请求对您的个人资料进行只读访问,而不是写入访问。根据用例的不同,可能会有额外的验证。
我希望这能回答你的问题。
1条答案
按热度按时间q1qsirdb1#
关于你的第一个问题,
我正在尝试使用谷歌帐号注册Twitter帐号。那么现在身份验证服务器在哪里呢?是谷歌吗?
是的,这是谷歌。如果你试图通过谷歌登录/注册Twitter,谷歌是授权服务器。因为,谷歌必须授权/授权Twitter访问您的数据,如您的Gmail ID、用户名等。
一旦你点击Twitter注册页面上的“向谷歌注册”按钮,你将首先被重定向到谷歌登录页面(看看你是否是经过身份验证的谷歌用户),然后谷歌会向你显示一个同意页面,上面写着“Twitter正在尝试读取你的个人资料数据,你同意吗?”一旦你点击“允许”按钮,谷歌将生成一个访问令牌、id_令牌和刷新令牌,并将其传递给Twitter。
关于你的第二个问题,
如果是谷歌,Twitter如何检查用户令牌(由身份验证服务器[Google??]生成)是有效的吗?
Twitter不会对这些令牌进行验证。Twitter可以传递令牌,以从Google的资源服务器(您的所有数据驻留在那里)检索您的Google个人资料信息
谷歌的资源服务器将对令牌进行验证。它首先检查令牌的“ISS”声明,看看令牌是否是由谷歌授权服务器颁发的。此外,它还将检查‘AUD’,以查看是否为他们(令牌的接收者)颁发了令牌。最后,它检查“作用域”声明,看看Twitter是否有权请求数据。例如,他们只需要请求对您的个人资料进行只读访问,而不是写入访问。根据用例的不同,可能会有额外的验证。
我希望这能回答你的问题。