【发布时间】:2017-07-25 14:44:45
【问题描述】:
我正在编写一个需要使用OAuth2 Protocol 进行身份验证的应用程序。我已经设法使用Web Server App authentication mechanism,它运行良好,唯一的问题是我在程序本身中处理redirect_url,我不希望浏览器在新标签中发出请求。
如果可能,理想的解决方案是谷歌服务器直接向我发送请求,或者打开和关闭浏览器选项卡/窗口。
也许这种方法不是最合适的,如果是这样,请告诉我如何更好地做到这一点。
【问题讨论】:
-
你真正想做什么?通常重定向不会打开新选项卡(尽管它会发出新请求)。
-
@TatsuyukiIshi 问题是,通过这种身份验证,我需要在浏览器中打开一个同意窗口,然后同意窗口重定向到给定的 url,当然,它确实执行了请求。我的程序确实处理了请求并且没问题,但是浏览器选项卡已打开并且没有什么可做的,因为不可能用 javascript 关闭浏览器选项卡,它不是由 javascript 打开的。我的临时解决方案是返回一些 HTML,告诉用户程序收到了代码,但如果我可以直接显示该消息会更简洁。
-
你如何首先打开浏览器窗口?例如,如果它是一个桌面应用程序,它打开浏览器只是为了获得用户的同意,它可以通过向浏览器窗口发送消息来模拟用户的操作(包括关闭窗口)。如果是web应用,可以用javascript(
window.open())打开同意,这样就可以用window.close()等关闭打开的窗口。 -
真正的应用程序没有用户界面,但是它会通过文件管理器与用户交互。我在想类似的事情。我通过
xdg-open $url打开浏览器窗口,它是一个linux程序,所以它是故意不可移植的,或者至少目前是这样。
标签: google-api oauth-2.0 google-oauth