1
对于使用桌面应用程序的人员,他们如何处理需要重定向url的第三方服务的oauth2流?oauth2重定向url如何为桌面应用程序工作?
我想通过Discord的oauth2登录认证用户。但我正在开发一个桌面应用程序,并且没有任何webservice。
我读过有关,看起来像重定向方案,
urn:ietf:wg:oauth:2.0:oob
但不和谐的说,这是通过的oauth2登录后非匹配重定向URL。
对于使用桌面应用程序的人员,他们如何处理需要重定向url的第三方服务的oauth2流?oauth2重定向url如何为桌面应用程序工作?
我想通过Discord的oauth2登录认证用户。但我正在开发一个桌面应用程序,并且没有任何webservice。
我读过有关,看起来像重定向方案,
urn:ietf:wg:oauth:2.0:oob
但不和谐的说,这是通过的oauth2登录后非匹配重定向URL。
如果您使用的桌面应用程序,你有两个选择:
localhost
为redirectUri。缺点是您通常还需要在允许的重定向Uris列表中提供端口号,并且您不必知道客户端是否有某个端口可用。urn:ietf:wg:oauth:2.0:oob
指示服务器根本不重定向用户,而是输出浏览器窗口标题中的代码。如果您有适当的权限来阅读其他Windows标题,那么您可以在那里自动检测更改。此外,代码通常会显示给用户,因此作为后备他可以复制&将代码粘贴到您的应用程序中。但是,您的服务可能不支持这一点。state
。然后,身份验证服务会将您的用户发送回您的web服务,该服务再次将代码报告给您的应用程序,例如通过长轮询,网络套接字或在整个过程中保持打开的真正的TCP连接。请注意,Web服务将需要谨慎的设计,以便该服务不会被第三方滥用。由于您无法通过Web服务在技术上验证您的桌面应用程序,因此无法阻止其他应用程序调用您的Web服务,但您可以在同意屏幕上向用户提供一些信息,以帮助用户确定请求是否合法。因此,如果我想重定向到iOS/OS X应用程序(如myapp:// oauth/callback),我需要webservice作为重定向到此URI的代理? –
我认为你需要为oauth2登录开发一个服务器端应用程序。实际上,Oauth2是为使用指定URL访问的基于互联网的应用程序制作的。桌面应用程序无法正常工作,因此无法集成Oauth2。 – Linh