使用来自iOS + Bonjour的Google Oauth2网络流(Yikes!)

alo*_*loo 12 bonjour ios oauth-2.0 google-oauth

我正在构建一个iOS应用程序,要求用户使用服务器端Web流通过Oauth2授权Google API.我目前打开一个UIWebView来启动oauth2流程.

这在模拟器中工作正常,因为我正在设置重定向URI http://localhost并在本地计算机上运行服务器.

但是,我还想在连接到桌面上运行的服务器的同时在设备上进行测试.为了做到这一点,我已经让应用程序发现我的桌面地址(本地子网IP或bonjour地址http://foo.local.)连接到服务器.但是,Google Oauth2流程表示它不能将本地URI用作重定向网址.

有没有办法解决?如果可能的话,我不想乱用我的本地网络设置或IOS设备的代理请求.理想情况下,我也希望能够使用bonjour服务来发现服务器,因为我们有一个开发人员团队,我们的应用程序允许您选择本地网络上您想要连接的服务器.

选项?

alo*_*loo 0

我最终通过采取以下方法解决了这个问题。

在我的 UIWebView 中,我拦截了所有加载请求并修改了 URL。基本上,我将redirect_uri设置为公共的(也在api控制台上注册),但是当UIWebView尝试加载该重定向URI(几次重定向后)时,我重写该URL以代替指向我的mac上的回调本地网络。

显然,在服务器端解析令牌时需要考虑到这一点。