Hi,

It's hard to implement a protocol like OAuth 1.0 : what about using a
library among the ones listed on http://oauth.net/code/ ?
Best regards,
Jérôme


2013/1/24 Bruno Goulmy <[email protected]>

> hello,
>
> i'm not a java dev (not yet). But i have implemented Oauth1.0 in VB6.
> i can share the code if you want. it could help because it's less talkative
>
> best regards.
>
> 2013/1/9 ritesh mehandiratta <[email protected]>
>
>> Hi i am trying to implement OAuth1.0 following this 
>> tutorial<https://developers.google.com/accounts/docs/OAuth_ref> in
>> this tutorial there is a heading OAuthGetRequestToken
>>
>> in which for getting request token we have to send a post request to URL
>>
>> www.google.com/accounts/OAuthGetRequestToken
>>
>> i am sending a post request in my code in google app engine my code is:
>>
>>
>> package org.ritesh;
>>
>>     import java.io.BufferedInputStream;
>>     import java.io.BufferedReader;
>>     import java.io.DataInputStream;
>>     import java.io.File;
>>     import java.io.FileInputStream;
>>     import java.io.IOException;
>>     import java.io.InputStream;
>>     import java.io.InputStreamReader;
>>     import java.io.OutputStreamWriter;
>>     import java.net.HttpURLConnection;
>>     import java.net.URL;
>>     import java.net.URLEncoder;
>>     import java.security.KeyFactory;
>>     import java.security.NoSuchAlgorithmException;
>>     import java.security.PrivateKey;
>>     import java.security.spec.EncodedKeySpec;
>>     import java.security.spec.InvalidKeySpecException;
>>     import java.security.spec.PKCS8EncodedKeySpec;
>>     import java.util.Iterator;
>>     import java.util.Map;
>>     import java.util.Set;
>>     import java.util.TreeMap;
>>
>>     import com.google.gdata.client.authn.oauth.*;
>>     import com.google.gdata.util.common.util.Base64;
>>     import com.google.gdata.util.common.util.Base64DecoderException;
>>     import com.sun.org.apache.xerces.internal.util.URI;
>>
>>     import javax.servlet.ServletContext;
>>     import javax.servlet.http.*;
>>
>>
>>     @SuppressWarnings("serial")
>>     public class HelloWorldServlet extends HttpServlet {
>>         @SuppressWarnings({ "unchecked", "unchecked" })
>>         public void doGet(HttpServletRequest req, HttpServletResponse resp)
>>                 throws IOException {
>>
>>         String myrsakey=    
>> "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALwVoQ3Ksd9gwZY3"
>>             
>> +"a7Flz5bf1oCiYe8XSn6vlkaPiA0jBcPJAmACjI023/Z+8KgDbyhlRumTtcateXNZ"
>>             
>> +"FVb7q/BKTQWgxK1Fj2XGUkWQz6Nsp/sk54M+R4n3XkTp6W7HhFERE81Iobgy+KtM"
>>             
>> +"vr5f/tJbCtLspKSaq2totveKMvMDAgMBAAECgYBIeTke3FzfyyOtI1vO9oEgDM5V"
>>             
>> +"sLx16Y6d9EC+na36CeW9xGWy4yiPfXadP9qxkukxMp05gd5IWS30QX5UjxN4ER9j"
>>             
>> +"tEDCfDePnrOoi6aUpLXuHoOQbhVIBMTEsFzw9v837a2GOnU0YMgUnGTzC8Ql/3Aw"
>>             
>> +"kFPNFqVEG57ItzZYGQJBAO8K8qXiDfUeMUjGLwqbRk5NgM7GVlPI80f3/V2o7EtP"
>>             
>> +"T6kr6nvob7ZfgQ9R1STuIPjF+0GartfHZ5x+7tdcZ7cCQQDJbUV6Y41zzQ/Pg/cl"
>>             
>> +"VIbZ8Lx9GdtYBaDFeIhGHXDq7Q0I17ztMILJfvx5kKQWGix8ktb0COGX7LxKIwFu"
>>             
>> +"GxcVAkEAhoDWf9humhnfCV/aYFF2geDCNZcMRCCyIzC689R1APsji8EWM5paIXgj"
>>             
>> +"moclM556FwDvm7552xhsiHYz1iI8iQJANcCMRvHkIJ/7dSRBQtwAtI4yrqvExgOS"
>>             
>> +"eMAGlbdrl7W0wcRYrW9Bp6XUmFhKAX/wmTnSVQM9uH47bQlUa16dVQJBAKnnjcgW"
>>             
>> +"AmoCYM+YYmi6+fytPYn9W61RNdl1f9rtccDBhsWomgS6O204qJoLX+U/aCkjpPxK"
>>             +"IyilkfsZBNupdzA=";
>>
>>
>>             resp.setContentType("text/html");
>>
>>  resp.getWriter().println("<html><head> <meta 
>> name=\"google-site-verification\" 
>> content=\"OBFeK6hFEbTkNdcYc-SQNH9tCTpcht-HkUdj6IgCaLg\" </head>");
>>
>>             resp.getWriter().println("<body>Hello, world");
>>
>>       TreeMap<String,String> tree=new TreeMap<String,String>();
>>       tree.put("oauth_version","1.0");
>>       tree.put("oauth_nonce", System.currentTimeMillis()+"");
>>       tree.put("oauth_timestamp",System.currentTimeMillis()/1000+"");
>>       tree.put("oauth_consumer_key", "imehandirattaritesh.appspot.com");
>>       tree.put("oauth_signature_method", "RSA-SHA1");
>>       tree.put("oauth_signature", myrsakey);
>>       tree.put("oauth_callback", 
>> "https://imehandirattaritesh.appspot.com/authsub";);
>>       tree.put("scope", "http://www.google.com/calendar/feeds";);
>>       Set set = tree.entrySet();
>>
>>       Iterator<Map.Entry<String, String>> i = set.iterator();
>>       String datastring="";
>>       Map.Entry me=(Map.Entry)i.next();
>>      datastring=me.getKey()+"=";
>>      datastring+=me.getValue();
>>
>>      while(i.hasNext()) {
>>           me = (Map.Entry)i.next();
>>           datastring+="&"+me.getKey()+"=";
>>           datastring+=(me.getValue());
>>           }
>>
>>
>>     URL url=new 
>> URL("https://www.google.com/accounts/OAuthGetRequestToken?"+datastring);
>>                     resp.getWriter().println(""+datastring);
>>             HttpURLConnection urlConnection = (HttpURLConnection) 
>> url.openConnection();
>>
>>             urlConnection.setRequestProperty("Content-Type", 
>> "application/x-www-form-urlencoded");
>>
>>             urlConnection.setRequestProperty("Authorization", "OAuth");
>>
>>             urlConnection.setRequestMethod("POST");
>>
>>             urlConnection.setDoOutput(true);
>>
>>             BufferedReader in = new BufferedReader(new 
>> InputStreamReader(urlConnection.getInputStream()));
>>
>>               resp.getWriter().println( urlConnection.getResponseCode());
>>
>>                String xx="";
>>
>>                String xx1="";
>>
>>                while((xx1=in.readLine()) != null)
>>
>>                {
>>                    xx+=xx1;
>>
>>
>>                }
>>                resp.getWriter().println(xx);
>>                resp.getWriter().println("</body></html>");
>>
>>
>>
>>
>>         }
>>
>>
>>
>> }
>>
>> i am hosting my app on domain imehandirattaritesh.appspot.com and i think 
>> probably i am putting all my parameters correct.may be in tutorial link 
>> signature is a very small string but in my case it is a very big string i am 
>> putting the content of my .pk8 file which is generated from certificate .pem 
>> file .i am expecting my input as like this
>>
>>
>> oauth_token=ab3cd9j4ks73hf7g&oauth_token_secret=ZXhhbXBsZS5jb20&oauth_callback_confirmed=true
>>
>>
>>
>> but in place of this i am getting response of sending post request as
>>
>> signature_invalidbase_string:POST&https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthGetRequestToken&oauth_callback%3Dhttps%253A%252F%252Fimehandirattaritesh.appspot.com%252Fauthsub%26oauth_consumer_key%3Dimehandirattaritesh.appspot.com%26oauth_nonce%3D1357733037248%26oauth_signature_method%3DRSA-SHA1%26oauth_timestamp%3D1357733037%26oauth_version%3D1.0%26scope%3Dhttp%253A%252F%252Fwww.google.com%252Fcalendar%252Ffeeds
>>
>> my oauth_callback is https://imehandirattaritesh.appspot.com/authsub
>>
>> i am trying to remove this error like hell but failed every time can any
>> one please help how to remove this error or resource or link from which i
>> will get any help.please dont suggest me using java client for OAuth1.0 .i
>> have to use google prediction api and call then from my application and in
>> java client library there is no functionality related to calling google
>> prediction api.please help me how to remove this error and get right output
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "OAuth" group.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msg/oauth/-/4YPhMWMfXEgJ.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/oauth?hl=en.
>>
>
>  --
>
>
>

-- 


Reply via email to