应用程序的背景:
将作为客户端连接到nest-api以检索所需数据的嵌入式系统。该嵌入式系统可以连接到wifi网络,并提供一个web接口,用户可以通过该接口进行身份验证。
对于身份验证,当前将用户定向到
https://home.nest.com/login/oauth2...
用户可以执行授权程序并获得8个字符的PIN。然后要求用户在文本框中输入该PIN码,并将其提交给嵌入式web服务器,然后该服务器请求access_token (使用C平台)。
与此问题相关的问题有两个:
1)有没有办法也从客户端浏览器请求access_token,只将access_token返回给嵌入式系统?在用户输入密码并提交后,有没有可以请求access_token的Javascript代码?
2)第二个问题与缺乏自动化有关。用户需要在web界面中重新键入PIN。有没有办法从网站自动提取个人识别码使用一些脚本。例如,打开嵌入在另一个页面中的/login/oauth2页面,并在主页上运行一个脚本,以不断扫描嵌入的页面,直到PIN变为可用(即用户登录并授予权限)。一旦它可用,它就可以被复制并自动返回到设备web和access_token请求。
我知道这种类型的自动化可以通过基于web的身份验证来实现,但据我所知,这将需要一个代理服务器来重定向URI。其想法是使设备自给自足,而不需要维护另一台服务器。
发布于 2014-11-18 02:05:09
http://localhost或https://开头的地址作为OAuth重定向URI。您可以在本地运行web服务器,也可以监视WebView以查找您选择的重定向URI模式并解析结果。https://stackoverflow.com/questions/26967171
复制相似问题