Nest API的非HTTP [S] OAuth重定向

时间:2014-08-06 23:16:53

标签: nest-api

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

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

我是否缺少此类使用的其他身份验证方法?这是iOS上的类似问题。

谢谢!

1 个答案:

答案 0 :(得分:4)

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

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

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

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