mar*_*tch 5 javascript oauth oauth-2.0 electron
对于使用桌面应用程序的人员来说,他们如何处理需要重定向 URL 的第三方服务的oauth2流?
我想通过 Discord 的 oauth2 登录对用户进行身份验证。但我正在开发一个桌面应用程序,背后没有网络服务。
我读过有关重定向方案的内容,如下所示:
urn:ietf:wg:oauth:2.0:oob
但不和谐说,通过 oauth2 登录后,这是一个不匹配的重定向网址。
如果您使用桌面应用程序,您有以下几种选择:
localhostredirectUri。缺点是您通常还需要在允许的重定向 Uris 列表中提供端口号,并且您不必知道客户端上某个端口是否可用。urn:ietf:wg:oauth:2.0:oob服务器根本不重定向用户,而是在浏览器窗口标题中输出代码。如果您有适当的权限来读取其他窗口标题,那么您可以自动检测那里的更改。此外,代码通常会显示给用户,以便作为后备,他可以将代码复制并粘贴到您的应用程序中。但是您的服务可能不支持这一点。state您将用户发送到的相应 URL。然后,身份验证服务会将您的用户发送回您的 Web 服务,该服务再次将代码报告给您的应用程序,例如通过长轮询、Web 套接字或在整个过程中保持打开的真实 TCP 连接。请注意,网络服务需要仔细设计,以便该服务不会被第三方滥用。由于您无法在技术上针对 Web 服务验证您的桌面应用程序,因此您无法阻止其他应用程序调用您的 Web 服务,但您可以在同意屏幕上向用户提供一些信息,帮助用户识别请求是否合法。| 归档时间: |
|
| 查看次数: |
5163 次 |
| 最近记录: |