【问题标题】:Expose the Restful API to mobile app and other 3rd Party companies向移动应用程序和其他 3rd 方公司公开 Restful API
【发布时间】:2012-11-29 13:22:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net rest


    【解决方案1】:

    如果您可以拥有 2 个不同的 API,那么您可以创建一个并仅私下公开它,然后创建第二个并公开公开。

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

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

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

    【讨论】:

    • 感谢 Brain 的回复,但拥有 2 种不同的 API 方法意味着单独托管它并在未来维护它会有问题。
    猜你喜欢
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    相关资源
    最近更新 更多