我正在使用Qt编写一个OAuth2客户机。对于授权的第一阶段,我使用qml WebView:其中打开一个链接,用户在其中输入数据并确认他的操作,之后谷歌服务调用redirect_uri (有一个类似于"com.mycompany.myappname://"的用户方案,我在注册OAuth2客户端时给了它)。Google在此重定向中指定参数中的结果,并发送授权代码(它看起来类似于:"com.mycompany.myappname://?code=4/ABCDEFG&scope=email openid&authuser=1&prompt=consent",其中"code"参数用于下面的授权阶段--获取access_token)。现在,为了捕获这个重定向,我使用了我的计划所附加的Java活动。活动读取参数,并使用C++方法将它们发送到public static native。接下来,在C++中,OAuth2授权的第二阶段通过了。
问题:是否可以使用Qt方法捕获redirect_uri?为了完全放弃Java,从而使这个客户端跨平台的安卓和IOS (在IOS中,如果我没有弄错的话,redirect_uri也是与OAuth2授权的第一阶段的结果一起使用的)。
,提前谢谢!
发布于 2022-06-08 07:47:35
您可以在这个QOAuthHttpServerReplyHandler中使用类似于官方例子的东西。
然后redirect_url可能是127.0.0.1,然后可以处理来自QOAuthHttpServerReplyHandler的适当信号l的有效负载/url参数。
https://stackoverflow.com/questions/72474350
复制相似问题