2012-09-17 42 views
0

我正在处理Instagram照片的网站上工作。使用POST将用户重定向到instagram登录

我必须指导用户到Instagram登录页面进行验证。这个过程需要我的网站在URL中发送很少的参数来进行授权。格式如下。

从Instagram的文档 -

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code 

它,当我使用GET请求来打Instagram的URL工作正常。 但现在我想隐藏URL中的这些值并将其从用户隐藏。

因此,我决定编写一个JSF页面,它将在windows.onload中提交表单参数作为隐藏,然后打开Instagram URL。这样我可以隐藏参数。

JSF页面

<h:body> 

     <h:form prependId="false"> 
      <h:inputHidden id="client_id" value="#{applicationBean.instagramClientID}" /><br/> 
      <h:inputHidden id="redirect_uri" value="#{applicationBean.instagramRedirectUrl}" /><br/> 
      <h:inputHidden id="response_type" value="code" /> 
     </h:form> 

     <script type="text/javascript"> 
      window.onload = function submitPage() { 
       document.forms[0].action="#{applicationBean.instagramAuthUrl}"; 
       document.forms[0].submit(); 
      } 
     </script> 
    </h:body> 

但是从Instagram的侧失败,使代码错误400

{"code": 400, "error_type": "OAuthException", "error_message": "You must include a valid client_id, response_type, and redirect_uri parameters"} 

我检查的价值和它们似乎都被罚款。我唯一注意到的是一个“form-id”也被传递。我认为这是导致授权失败,因为我只需要发送特定的参数。如果是的话我怎么才能克服这个使用POST请求?

或者我在POST请求中做错了什么?

在此先感谢。

环境:Java 1.6的,JSF 2

+0

任何人都可以抛出一些光? – Akshat

回答

-1

尝试通过硬编码的价值观和后的结果。

相关问题