身份验证时我的Box App上出现“不安全的Redirect_uri”错误

时间:2014-04-15 10:02:39

标签: oauth-2.0 box-api

我正在尝试测试我的应用,我正在localhost和heroku上测试它。

我尝试不在我的应用编辑页面的“OAuth2参数”中设置redirect_uri,所以我想我可以根据主机名动态设置它(localhost:port或myapp.heroku .COM)

但这不起作用......我做错了吗?


修改

问题应该是身份验证的协议。

此身份验证网址请求有效​​(但我在heroku上的应用不使用https)

https://app.box.com/api/oauth2/authorize?
  response_type=code&
  client_id=my-client-id&
  redirect_uri=https://myapp.herokuapp.com

并且此身份验证网址请求无效,因为Insecure_redirect_uri错误

https://app.box.com/api/oauth2/authorize?
  response_type=code&
  client_id=my-client-id&
  redirect_uri=http://myapp.herokuapp.com

PS:注意两个网址上的redirect_uri参数。

2 个答案:

答案 0 :(得分:2)

Box要求所有重定向网址在开头都有https。 唯一的例外(据我所知)是指向本地主机的任何网址,即http://localhost:5000

我不明白为什么https://app.box.com/api/oauth2/authorize?response_type=code&client_id=qwerty&re‌​direct_uri=https://myapp.herokuapp.com是不可接受的;我使用它并且工作正常,我只是将'/auth作为我的回调网址来处理任何身份验证:

get '/auth'用于在URL查询和

中使用auth代码捕获get请求

post '/auth用于捕获帖子正文中的标记

所以我的重定向网址如下:https://myapp.herokuapp.com/auth

答案 1 :(得分:0)

如果您在OAuth2配置中指定了一个,那么您要么不发送参数,而Box知道重定向的位置。或者你必须在你的redirect_uri param中发送那个确切的一个。

如果你没有在Box的开发者控制台上的OAuth2配置参数中设置一个,那么你可以指定你想要的任何redirect_uri参数。