gpt4 book ai didi

javascript - oauth2 重定向 url 如何用于桌面应用程序?

转载 作者:行者123 更新时间:2023-11-30 16:02:10 24 4
gpt4 key购买 nike

对于使用桌面应用程序的人,他们如何处理需要重定向 URL 的第三方服务的 oauth2 流程?

我想通过 Discord 的 oauth2 登录来验证用户。但我正在开发一个桌面应用程序,它背后没有网络服务。

我读过重定向方案,看起来像,

urn:ietf:wg:oauth:2.0:oob

但 discord 说这是一个不匹配的 通过 oauth2 登录后的重定向 url

最佳答案

如果您使用桌面应用程序,您有几个选择:

  1. 您可以在本地启动网络服务器并使用 localhost 作为 redirectUri。不利之处在于,您通常还需要在允许的重定向 Uris 列表中提供端口号,并且您不一定知道某个端口在客户端上是否可用。
  2. urn:ietf:wg:oauth:2.0:oob 指示服务器根本不重定向用户,而是在浏览器窗口标题中输出代码。如果您有阅读其他窗口标题的适当权限,那么您可以在那里自动检测更改。此外,代码通常会显示给用户,以便作为后备,他可以将代码复制并粘贴到您的应用程序中。但是,您的服务可能不支持此功能。
  3. 设置一个为您转发 token 的网络服务。基本上,您设置了一个 Web 服务,您的应用程序将根据该 Web 服务进行身份验证,并且该 Web 服务会向身份验证服务返回一个 URL,其中包括您发送给用户的适当的 state。然后身份验证服务会将您的用户发送回您的网络服务,该网络服务再次将代码报告给您的应用程序,例如通过长轮询、网络套接字或在整个过程中保持打开的真实 TCP 连接。请注意,web 服务需要仔细设计,以免服务被第三方滥用。由于您无法在技术上根据网络服务对您的桌面应用程序进行身份验证,因此您无法阻止其他应用程序调用您的网络服务,但您可以在同意屏幕上向用户显示一些信息,以帮助用户确定请求是否合法。

关于javascript - oauth2 重定向 url 如何用于桌面应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37561169/

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