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. >> > > -- > > > --
