如何使用OAuth 2

本文关键字:OAuth 何使用 | 更新日期: 2023-09-27 18:12:12

我有一个应该是简单的应用程序,我需要完成。然而,OAuth 2让我感到困惑。基本上,我需要将一个文件或一组文件上传到Box、Dropbox等文件夹中进行备份。

我已经看过SharpBox了。它看起来超级简单,但我不会编译它。缺少引用或其他导致它抛出错误的内容:

无法解析此引用。找不到"AssemblyAppLimit.CloudComputing.SharpBox.Net40"。确认一下程序集存在于磁盘上。如果您的代码。

还有下面的错误:

类型或命名空间名称"DropBoxCredentials"找不到(您是否缺少using指令或汇编引用?)

据我所知,没有任何更新。如何解决这个问题?

如何使用OAuth 2

你得到的第一个错误是因为库"AssemblyAppLimit.CloudComputing.SharpBox. "找不到Net40。确保将其添加到可用的文件夹中,在项目中引用它,并将其包含在构建中。你得到的第二个错误是因为你没有提供Dropbox OAuth凭证。在发出受保护的请求之前,必须对用户进行身份验证。我发现这个页面很有用:http://sharpbox.codeplex.com/wikipage?title=SharpBox%20Developer%20Tutorials&referringTitle=Documentation。步骤2详细说明了如何使用DropBox的OAuth进行授权。

OAuth 2实际上比OAuth 1简单得多,它只有几个步骤。

  1. 使用外部服务给出的URL来生成一个完整的URL,其中包括应用程序的唯一消费者密钥、重定向URL和外部服务所需的任何其他权限/属性。
  2. 将用户重定向到步骤1中生成的URL。他们的外部服务将完成其操作并确认您的应用程序的访问。如果一切顺利,您将获得一个唯一的成功令牌。
  3. 向外部服务上的第二个位置发出请求,该请求需要3个组件-你的应用程序的消费者密钥(如用户名),消费者秘密(如密码),以及在成功完成第2步后交给你的应用程序的唯一请求令牌。外部服务接受这三个参数,如果步骤2成功,则返回一个唯一令牌,允许您的应用程序代表该用户发出请求。您应该存储这个令牌,因为您将需要它来进行后续请求(我喜欢使用用户的外部服务帐户Id存储令牌,以使API调用更容易)。

我仍然可以提供一个OAuth2.0的例子,但我检查了DropBox文档,他们的核心API说它仍然是版本1,由于各种原因更复杂。在这种情况下,我建议坚持使用第三方专用库,它可以抽象出混乱的细节。