【问题标题】:Why google-oauth API requires redirect-url?为什么 google-oauth API 需要重定向 URL?
【发布时间】:2019-08-22 06:41:27
【问题描述】:

我正在尝试使用 google-oauth2 API 设置授权流程。 任务是在我的网络应用程序中授权用户使用谷歌帐户,该应用程序由前端和后端部分组成。

根据文档的流程包括 2 个步骤:
1) 获取授权码
2) 用授权码交换令牌

在我的流程中,FE 客户端从 google 获取验证码并将其提交给 BE,然后将其交换为令牌,因此不使用重定向 URL(或有时称为回调 URL)。

我不明白为什么 google API 要求我为第二步提供redirect_uri?由于此步骤是由服务器而不是浏览器执行的,因此我认为这条信息没有任何意义。服务器只需调用POST /oauth2/v4/token google 端点并接收令牌作为响应。

请参阅https://developers.google.com/identity/protocols/OpenIDConnect 的第 4 步

【问题讨论】:

    标签: rest http security authorization google-oauth


    【解决方案1】:

    根据this,是防盗access_token。如果服务没有检查初始的redirect_uri,则将授权码发送给黑客的redirect_uri,然后黑客可以将其换成access_token,即非法访问用户的帐户。为了真正获得access_token,再次指定redirect_uri,这一次必须由服务器对照为该应用程序注册的时间进行检查。那时,黑客被挫败了,因为假的redirect_uri 与任何合法的都不匹配。显然,有些服务器在授权阶段不会检查redirect_uri,而在请求access_token 时再次发送redirect_uri 是为了提供最终的安全检查。

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 2020-02-27
      • 1970-01-01
      • 2015-09-24
      相关资源
      最近更新 更多