Oauth 2.0 &引用;不安全的“U重定向”uri;身份验证时my Box应用程序出错
我正在尝试测试我的应用程序,我正在本地主机和heroku上测试它 我试图在我的应用程序的编辑页面上的“OAuth2参数”中不设置Oauth 2.0 &引用;不安全的“U重定向”uri;身份验证时my Box应用程序出错,oauth-2.0,box-api,Oauth 2.0,Box Api,我正在尝试测试我的应用程序,我正在本地主机和heroku上测试它 我试图在我的应用程序的编辑页面上的“OAuth2参数”中不设置重定向uri,因此我认为可以根据主机名(localhost:port或myapp.heroku.com)动态设置它 但这不起作用。。。我做错什么了吗 编辑 问题应该是身份验证的协议 此验证url请求有效(但我在heroku上的应用程序不使用https) 由于出现unsecure\u redirect\u uri错误,此身份验证url请求不起作用 https://app
重定向uri
,因此我认为可以根据主机名(localhost:port或myapp.heroku.com)动态设置它
但这不起作用。。。我做错什么了吗
编辑 问题应该是身份验证的协议 此验证url请求有效(但我在heroku上的应用程序不使用https) 由于出现
unsecure\u redirect\u uri
错误,此身份验证url请求不起作用
https://app.box.com/api/oauth2/authorize?
response_type=code&
client_id=my-client-id&
redirect_uri=http://myapp.herokuapp.com
注意两个URL上的
重定向\u uri
参数。如果您在OAuth2配置中指定了一个参数,那么您要么不发送参数,Box知道在哪里执行重定向。或者,您必须在重定向uri参数中发送一个完全相同的参数
如果在Box的开发者控制台上的OAuth2配置参数中没有设置一个,那么可以指定所需的任何重定向uri参数 框要求所有重定向URL的开头都有
https
。
唯一的例外(据我所知)是任何指向本地主机的url,即http://localhost:5000
我不明白为什么https://app.box.com/api/oauth2/authorize?response_type=code&client_id=qwerty&re直连uri=https://myapp.herokuapp.com
不可接受;我使用它,它工作得很好,我只是把'/auth
作为处理任何身份验证的回调url:
get'/auth'
用于在URL查询中使用auth代码捕获get请求,并
post'/auth
用于捕获post正文中的标记
所以我的重定向URL应该是:
https://myapp.herokuapp.com/auth
我仍然有问题。。。问题可能是因为我在heroku上的测试应用程序使用了http
协议,而不是https
?更清楚地说。。。此urlhttps://app.box.com/api/oauth2/authorize?response_type=code&client_id=qwerty&redirect_uri=https://myapp.herokuapp.com
有效(但不是正确的uri),而这一个https://app.box.com/api/oauth2/authorize?response_type=code&client_id=qwerty&redirect_uri=http://myapp.herokuapp.com
没有。你说得对<代码>https://app.box.com/api/oauth2/authorize?response_type=code&client_id=qwerty&re直连uri=https://myapp.herokuapp.com很好,但我的heroku应用程序没有https协议。也许问题恰恰在于协议。只有localhost可以使用http,而另一个只能使用https。你说它没有https是什么意思?heroku接受https,或者它应该接受,您使用的是什么框架?
https://app.box.com/api/oauth2/authorize?
response_type=code&
client_id=my-client-id&
redirect_uri=http://myapp.herokuapp.com