我理解网页上的工作流是什么,但是oauth+open id是如何为桌面应用程序工作的,因为它们不能在应用程序中打开浏览器页面。我看到,当我点击spotify应用程序中的facebook登录时,它会在浏览器中打开facebook,并在用户交互部分结束后将控件返回给应用程序。但是引擎盖下面会发生什么呢?
根据我从这里得到的理解,这将是来自网页的常规工作流:https://www.youtube.com/watch?v=996OiexHze0。
但是考虑到像spotify这样的桌面应用程序不能打开网页并从服务提供商(facebook)那里得到授权授权的响应,那么幕后的工作流是什么呢?
发布于 2020-05-08 18:39:28
他们使用一个概念,有时称为“通用链接”或“应用链接”。下面是在Windows:https://docs.microsoft.com/en-us/windows/uwp/launch-resume/web-to-app-linking中如何实现这些功能的示例,下面是一个用于iOS应用程序的示例:https://developer.apple.com/ios/universal-links/
其思想是,这些是HTTPS URL,可以映射到您的环境中的特定应用程序。假设它们被正确地映射,应用程序将启动而不是浏览器。但是,如果应用程序没有正确安装/映射,那么浏览器将加载URL (因为它仍然只是一个HTTPS url)。给出的URL包含完成OAuth授予所需的auth代码,就像它是一个正常的web应用程序一样。
https://security.stackexchange.com/questions/231325
复制相似问题