You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Web集成Okta OAuth2:新窗口回调参数与Cookie获取问题

Flutter Web集成Okta OAuth2认证的核心问题

DIO调用授权端点的重定向问题

我开发了一个Flutter Web应用,正在集成Okta OAuth2认证功能。使用DIO包调用构造好的授权端点URL时,DIO会自动跟进302重定向,最终返回回调地址对应的Flutter HTML内容,而非预期的重定向响应。

授权端点示例:

https://dev-xxxxxxxx.okta.com/oauth2/default/v1/authorize?response_type=code&scope=openid+profile+offline_access&client_id=xxxxxxxxxxxxxxxxxxxx&redirect_uri=http://localhost:8080/authorization-code/callback&code_challenge_method=S256&code_challenge=Wag0u2fyeYWJHy_baK-XbMWO9H2xwUBii7R4Nvj761Y&sessionToken=20111jWBb2P2BoPIL-Atd0pk5QDImstT7EmYULPFMg2GoCGPgOrxKFl&state=X7hih1mUow&nonce=lSfF1CxmmR

调用后会重定向至回调地址:

http://localhost:8080/authorization-code/callback?code=TCifQEab0a6HwEGeWQXlDQhPm22RlyemvO5GbipASEU&state=YLi4I2P4qd

我需要禁止DIO自动重定向,直接返回302状态码,但目前无法实现。

新窗口打开授权URL后的参数提取问题

转而尝试在新窗口打开授权URL,窗口会自动跳转到回调地址,但遇到以下问题:

  • 无法提取回调URL中的code参数
  • 无法获取该URL设置的Cookie

代码示例:

final html.WindowBase newWindow = html.window.open(url, "callback");

限制:newWindow.location.href为只读属性,无法获取跳转后的地址。


内容的提问来源于stack exchange,提问作者Yahya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 03:36:22