Api 如何允许其他公司使用我们的web应用程序?

Api 如何允许其他公司使用我们的web应用程序?,api,security,web-applications,architecture,Api,Security,Web Applications,Architecture,我们正在开发一个拥有用户和付款的web应用程序。我们需要自己使用它,我们也需要允许其他公司使用它。应用程序的所有实例必须使用相同的数据库和相同的支付帐户。每个前端最好是完全分开的 以下是我能想到的方法: 1) 使用OAuth。这是一个完美的方法,但我不认为每个前端都可以完全分开——换句话说,每个应用实例都会链接到相同的密码和支付表单,然后在用户使用表单后重定向回应用实例 2) 只需将整个应用程序交给另一家公司,让他们部署一个完全独立的实例即可。缺点是我们需要给他们我们的数据库和支付凭证 3) 将

我们正在开发一个拥有用户和付款的web应用程序。我们需要自己使用它,我们也需要允许其他公司使用它。应用程序的所有实例必须使用相同的数据库和相同的支付帐户。每个前端最好是完全分开的

以下是我能想到的方法:

1) 使用OAuth。这是一个完美的方法,但我不认为每个前端都可以完全分开——换句话说,每个应用实例都会链接到相同的密码和支付表单,然后在用户使用表单后重定向回应用实例

2) 只需将整个应用程序交给另一家公司,让他们部署一个完全独立的实例即可。缺点是我们需要给他们我们的数据库和支付凭证

3) 将我们应用程序的前端加载到他们网站上的iframe中。这可能吗?如果是这样的话,它似乎可以满足我的所有要求,但它似乎有点黑客…不确定所有的缺点


是否有其他选项允许使用相同的数据库和支付帐户以及完全独立的前端?

您希望其他公司使用您的公司域、子域还是他们自己的域

您的公司域 在这种情况下,创建一个单独的登录页面。用户登录后,为登录用户创建自定义UI,并显示用户和付款页面。它是一个单一的用户界面,可以根据用户的喜好进行渲染,如自定义字体、日志等

公司子域 这是软件即服务业务中使用的一种流行模式。根据子域,创建自定义页面,此页面将使用cusomter id访问服务。您还可以为客户提供一个模块,以上载图像、选择字体等。 所有服务和交易都将具有客户id并易于跟踪

客户域 将用户和支付信息公开为RESTfulWebService,让客户创建一个网页并使用公开的服务

注意,对于“客户域”的情况,您应该使用oAuth方法!