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