1

免责声明:这是我第一次处理 OAuth。

我目前正在将 Web API 设置为用户(使用移动应用程序)和 Xero 公共应用程序之间的中间人。

要让用户访问任何 Xero 数据,他们必须首先使用 Xero 公共应用程序对自己进行身份验证。然后在身份验证过程结束时为用户提供访问令牌和访问令牌秘密。这一切都是通过 OAuth 1.1 完成的。

此时,移动应用程序具有访问令牌和访问令牌秘密 - 由 Xero 公共应用程序提供。从这一点开始,用户将永远不会再与 Xero 公共应用程序交谈。

我需要做的是让用户向 Web API 发送一个 POST,其中包含他们的 Xero 用户名和 Xero 访问令牌(可能还有 Xero 访问令牌秘密)。Web API 控制器将接收此请求,并向 Xero 公共应用程序发送请求以确保其正常工作。

当从 Xero 公共应用程序收到 OK 响应时,Web API 将通过在数据库中存储用户(使用他们的 Xero 用户名)和组织(使用访问令牌 + 秘密)来注册用户。

此时,所有必要的凭据都存储在 Web API 数据库中,Web API 控制器可以代表用户执行请求。这背后的全部原因是,可以设置 Web 作业以每天将 Xero 数据拉到 Web API 一次或两次,并且用户只能访问这些数据。

我的问题是:

  • 这里有任何危险信号吗?
  • 我是否需要在用户/移动应用程序和 Web API 之间提供访问令牌?这是给设备还是给用户?
  • OWIN 可以提供访问令牌,但我不确定应该如何在移动应用程序 <-> Web API 之间使用它们。

提前致谢。

4

0 回答 0