Asp.net 向移动应用程序和其他第三方公司公开Restful API

Asp.net 向移动应用程序和其他第三方公司公开Restful API,asp.net,rest,Asp.net,Rest,我们在asp.net中开发了帮助台web应用程序。现在我们需要向我们的移动应用程序和第三方公司公开Restful API。我们不想向第三方公司公开所有API方法。他们将使用API的某些方法 目前,我正在考虑在帮助台应用程序中公开Restful API。 我们的web应用程序托管在support.domain.com中,希望在此URL示例API.support.domain.com中公开我们的API 我的问题 如何使用私有方法设计Restful API,该方法将仅由我们的移动应用程序使用,而不会向

我们在asp.net中开发了帮助台web应用程序。现在我们需要向我们的移动应用程序和第三方公司公开Restful API。我们不想向第三方公司公开所有API方法。他们将使用API的某些方法

目前,我正在考虑在帮助台应用程序中公开Restful API。 我们的web应用程序托管在support.domain.com中,希望在此URL示例API.support.domain.com中公开我们的API

我的问题
如何使用私有方法设计Restful API,该方法将仅由我们的移动应用程序使用,而不会向第三方公司公开其他API和公共API方法?

如果您可以使用两个不同的API,那么您可以创建一个并仅私下公开它,然后创建第二个并公开它

如果您只想要一个API,那么您需要实现授权。基本上,在每个受保护的方法调用上,检查是否允许调用方调用该方法,如果不允许,则抛出异常或返回一个响应,指示不允许调用方执行请求的操作

如何验证呼叫方的身份取决于您。您可以使用用户名/密码方案,或者生成某种字符串作为API密钥,用于每次调用


如果这是一个选项,您也可以根据IP地址进行操作——如果您知道内部呼叫必须来自一组特定的子网,那么请检查IP地址。您还可以保留一个允许的外部IP地址表。

感谢Brain的回复,但有两种不同的API方法意味着单独托管它,将来维护它会有问题。