我是OAuth的新手,无法直观地了解其工作原理。
根据我的理解,当我尝试通过OAuth验证凭据时,我向登录服务器发送请求,该服务器接管并让用户登录该站点本身。如果凭据有效,则会访问OAuth请求的回调URL,并将令牌附加到回调URL。此令牌必须与将来的所有HTTP请求一起传递给服务器,并用作用户凭据的验证。
我感到困惑的是,如何在没有服务器的桌面应用程序中调整此过程?我如何使用回调URL,如果我只是在桌面上运行.NET应用程序,如何检索令牌?
谢谢!
答案 0 :(得分:2)
这取决于您要支持的服务提供商。
Google在此处详细介绍了如何将OAuth 2.0与“已安装的应用程序”结合使用: https://developers.google.com/accounts/docs/OAuth2InstalledApp
一般来说,有几种不同的策略:
如果您的OAuth 2.0提供程序不支持OOB,您还可以重定向到您拥有的Web服务器以完成类似的任务。
最大的问题是,您是在进行身份验证(获取用户身份)还是授权(通过Web API访问用户数据)。如果您尝试对用户进行身份验证,则需要一些您可以信任的服务器端逻辑来传递授权代码或访问令牌以进行验证。