Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 2.0 &引用;不安全的“U重定向”uri;身份验证时my Box应用程序出错_Oauth 2.0_Box Api - Fatal编程技术网

Oauth 2.0 &引用;不安全的“U重定向”uri;身份验证时my Box应用程序出错

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

我正在尝试测试我的应用程序,我正在本地主机和heroku上测试它

我试图在我的应用程序的编辑页面上的“OAuth2参数”中不设置
重定向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
?更清楚地说。。。此url
https://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