gpt4 book ai didi

openid-connect - FusionAuth 及其提供的 oauth 端点是否可以在 SPA 中提示=无静默刷新?

转载 作者:行者123 更新时间:2023-12-04 01:44:32 25 4
gpt4 key购买 nike

我正在尝试通过使用 oauth 授权端点使用 prompt=none 在 iframe 中集成访问 token 的静默刷新。我似乎无法弄清楚如何执行此操作,或者它是否受支持,并且在此处的文档中看不到任何信息:

https://fusionauth.io/docs/v1/tech/oauth/overview

我试过在 URL 中使用 prompt=none,但它似乎没有做任何事情。

我希望 prompt=none 根据 OpenID Connect Core 1.0 工作

感谢您的帮助!

最佳答案

FusionAuth 目前不支持授权代码授予的 prompt=none 选项。这是我们计划在即将发布的版本中添加的内容。

但是,其他人已经使用了一种变通方法。您可以向 FusionAuth 的授权端点发出 AJAX 请求,然后检查结果以确定用户是否需要重新登录或刷新他们的访问 token 。

这是它的工作原理:

用户未登录

  1. 您的应用程序发出 AJAX 请求请求/oauth2/authorize 端点
  2. 如果用户不再登录,FusionAuth 将返回一个 200 和包含我们登录表单的 HTML。
  3. 您的应用程序可以检查响应并发现用户需要登录并将他们带到 FusionAuth 的界面以重新登录。

用户仍然登录

  1. 您的应用程序发出 AJAX 请求请求/oauth2/authorize 端点
  2. FusionAuth 将以 302 响应您的 redirect_uri 并提供授权码
  3. 您的后端将完成授权码授予并调用 FusionAuth token 端点
  4. 这将返回一个访问 token (可能还有一个刷新 token )
  5. 您的后端应该返回一个 200 加上一个 JSON 正文或表明用户仍处于登录状态的内容
  6. AJAX 响应将发送到您的应用程序,它可以解析响应并查看用户是否仍处于登录状态
  7. 您的应用程序现在将拥有新的访问 token

此流程在 AJAX 中运行良好。它在 iframe 中效果不佳,因为 iframe 无法将用户需要重新登录或他们仍处于登录状态,现在拥有新的访问 token 。

如果你想在我们的授权端点上为 prompt=none 支持打开一个 GitHub 问题,你可以在这里做:https://github.com/FusionAuth/fusionauth-issues

关于openid-connect - FusionAuth 及其提供的 oauth 端点是否可以在 SPA 中提示=无静默刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55859793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com