Google chrome 浏览器如何处理OAuth2中的重定向uri?

Google chrome 浏览器如何处理OAuth2中的重定向uri?,google-chrome,browser,oauth-2.0,azure-active-directory,Google Chrome,Browser,Oauth 2.0,Azure Active Directory,我知道,redirect\u uri是OAuth流的一个关键部分,但我的问题是浏览器在成功验证后如何处理从IDP返回的重定向请求? 我很困惑,因为: 响应是200而不是302重定向 也没有位置头响应 那么浏览器如何分析此响应并执行操作以将您重定向到重定向\u uri中的地址呢? 谢谢 使用PHP、Java、Python、Ruby和.NET等语言和框架的应用程序必须指定授权重定向URI重定向URI是OAuth 2.0服务器可以向其发送响应的端点。 因此,您看到的响应是200—这意味着Auth 2.

我知道,
redirect\u uri
是OAuth流的一个关键部分,但我的问题是浏览器在成功验证后如何处理从IDP返回的重定向请求? 我很困惑,因为:

  • 响应是200而不是302重定向
  • 也没有位置头响应
  • 那么浏览器如何分析此响应并执行操作以将您重定向到
    重定向\u uri
    中的地址呢?


    谢谢

    使用PHP、Java、Python、Ruby和.NET等语言和框架的应用程序必须指定授权重定向URI重定向URI是OAuth 2.0服务器可以向其发送响应的端点。


    因此,您看到的响应是200—这意味着Auth 2.0服务器已成功地将响应发送到指定的回复URL。

    当浏览器处理重定向时,无论是通过30倍的响应代码还是一些Javascript操作,都没有什么神奇之处

    以Azure广告为例,假设您已登录Microsoft帐户。如果您可以捕获OAuth2请求的响应内容(端点类似),那么将有一个隐藏的表单-

    <html>
    <head>
      <title>Working...</title>
    </head>
    <body>
      <form method="POST" name="hiddenform" action="https://localhost/redirect_url">
        <input type="hidden" name="id_token" value="ey..." />
        <input type="hidden" name="state" value="state..." />
        <input type="hidden" name="session_state" value="guid..." />
        <noscript>
          <p>Script is disabled. Click Submit to continue.</p>
          <input type="submit" value="Submit" />
        </noscript>
      </form>
      <script language="javascript">document.forms[0].submit();</script>
    </body>
    </html>
    
    
    工作
    脚本已禁用。单击“提交”继续

    document.forms[0]。提交();

    如您所见,该表单包含您的id_令牌。脚本自动触发提交操作,该操作将导航到您的端点,因此重定向

    感谢您的回答。但我的问题不是重定向uri是什么,而是浏览器如何处理此响应并执行实际重定向操作。如回答中所述,应用程序将向重定向uri发送响应。非常感谢先生!非常感谢!