我正在尝试开发使用Nest API的原生OS X应用程序。不幸的是,他们的客户注册只接受redirect-URL的“https://”URI。由于此处没有涉及服务器(除了Nest的服务器),我需要重定向到我的应用程序。为此,我需要能够重定向到任意URI。
我尝试直接将此反馈发送给Nest,但他们似乎没有支持联系人或错误报告。
我是否缺少此类使用的其他身份验证方法?这是iOS上的类似问题。
谢谢!
答案 0 :(得分:4)
Nest只能在正常的浏览器世界中确保HTTPS
是安全的。是的,还有其他application protocols是安全的,但标准没有明确定义。因此,返回URI仅限于HTTPS
和HTTP://localhost
(假设有人控制了您的计算机,他们也可以拦截HTTPS
次来电)
Mac OS和iOS有一个相对简单的解决方法,在Nest的iOS NestDK示例代码中进行了演示。关键部分是:
在line 30 of constants.m中,您会看到RedirectURL
已定义(运行此示例代码时,您可能希望将其更改为首选网址,可能是您的公司已经控制的内容,以进一步提高安全性)
在line 126 of NestWebViewAuthController.m中,应用正在检查WebView是否正在尝试加载我们的虚拟重定向URI。如果是这样,它会捕获参数并尝试获取可与Nest API一起使用的令牌。