3

我正在尝试开发一个使用 Nest API 的本机 OS X 应用程序。不幸的是,他们的客户端注册只接受重定向 URL 的“https://”URI。由于这里没有涉及服务器(除了 Nest 的服务器),我需要重定向到我的应用程序。为此,我需要能够重定向到任意 URI。

我尝试将此反馈直接发送给 Nest,但他们似乎没有可用的支持联系人或错误报告。

对于这种类型的使用,我是否缺少其他一些身份验证方法?在 iOS 上也有类似的问题。

谢谢!

4

1 回答 1

4

Nest 只能确保在正常的浏览器世界中HTTPS是安全的。是的,还有其他安全的应用程序协议,但标准没有明确定义。因此,返回 URI 仅限于HTTPSHTTP://localhost(假设有人控制了您的机器,他们也可以拦截HTTPS调用)

Mac OS 和 iOS 有一个相对简单的解决方法,这在 Nest 的iOS NestDK示例代码中得到了演示。关键部分是:

  • constants.m 的第 30 行中,您将看到RedirectURL已定义(在运行此示例代码时,您可能希望将其更改为您的首选 URL,可能是您的公司已经控制的内容以提高安全性)

  • NestWebViewAuthController.m 的第 126 行,应用程序正在检查 WebView 是否正在尝试加载我们的虚拟重定向 URI。如果是这样,它会捕获参数并尝试获取可以与Nest API一起使用的令牌。

于 2014-08-08T01:59:17.527 回答