httr
包的oauth_app()
函数中的默认重定向 uri 为:http://localhost:1410/
。我尝试切换到 https://localhost:1410/
,但身份验证流程无法完成。我很想知道是否可以使用 HTTPS 作为重定向 uri。Instagram API提到了这一点:
要记住的一件事是,对 API 的所有请求都必须 通过 SSL 制作(https://不是 http://(
但是他们的例子继续使用http回调注册的重定向uri。我认为答案并不是httr
具体,但这里有一个使用 Google OAuth 2.0 的可重现示例:
library(httr)
key <- "526767977974-i8pn4vvaga2utiqmeblfnpakflgq964n.apps.googleusercontent.com"
secret <- "tNJixXCExE30f_ARBzb6e4hC"
myapp <- oauth_app("google", key, secret, redirect_uri='https://localhost:1410/')
token <- oauth2.0_token(oauth_endpoints("google"),
myapp,
scope=c("https://www.googleapis.com/auth/drive"))
我对Facebook强制严格的https重定向网址有同样的问题。我相信解决方案在 httr::oauth_listener 中的某个地方,还无法弄清楚。
编辑1:因此,在facebook/Instagram设置中必须指定 https://localhost:1410/。因此,当您进行身份验证时,它会将您重定向到 https://localhost:1410/但是由于 httpuv 服务器正在侦听 http://localhost:1410/,因此如果可以获取该 URL 并将 https 替换为 http 并重新加载流就可以了。我一直无法做到,但正在努力。