我正在研究 OAuth 2.0 协议。
我陷入了为不在 Web 服务器上运行的桌面/移动应用程序生成不记名令牌的问题。
对于 Web 应用程序,我很清楚 OAuth 2.0 协议流程。假设myapp.com
要protectedresource.com
代表用户 Alice 访问,然后 Alice 被重定向到,https://protectedresource.com/oauth?redirect_uri=https://myapp.com/oauth&[...]
因此资源管理器在获得同意后,将 Alice 的浏览器重定向到一个页面,该页面将收集授权代码并使用它来获取承载令牌。
这工作正常且安全,因为protectedresource.com
识别myapp.com
域并仅向来自的请求释放不记名令牌myapp.com
如果我正在运行桌面应用程序,即使支持浏览器(即在 Windows 窗体中嵌入 HTML 查看器或类似的东西),我应该在同意后将 Alice 重定向到哪里?
谁收集授权码?控制流如何变化?
有人有在桌面或 Android 上运行的 OAuth 2.0 实施示例吗?