added SignatureType and querystring signing functionallity

This commit is contained in:
Pablo Fernandez committed 2011-04-19 22:17:23 -03:00
1 parent 931236561a
commit 193dcd2e25
3 files changed
+33 -2

No files matched your search

@@ -10,6 +10,7 @@ public class OAuthConfig
private String apiKey;
private String apiSecret;
private String callback;
private SignatureType signatureType;
public OAuthConfig(String key, String secret)
{
@@ -52,4 +53,14 @@ public class OAuthConfig
{
this.callback = callback;
}
public SignatureType getSignatureType()
{
return signatureType != null ? signatureType : SignatureType.Header;
}
public void setSignatureType(SignatureType type)
{
this.signatureType = type;
}
}
@@ -0,0 +1,7 @@
package org.scribe.model;
public enum SignatureType
{
Header,
QueryString
}
@@ -1,5 +1,7 @@
package org.scribe.oauth;
import java.util.*;
import org.scribe.builder.api.*;
import org.scribe.model.*;
@@ -110,7 +112,18 @@ public class OAuth10aServiceImpl implements OAuthService
private void addSignature(OAuthRequest request)
{
String oauthHeader = api.getHeaderExtractor().extract(request);
request.addHeader(OAuthConstants.HEADER, oauthHeader);
switch (config.getSignatureType())
{
case Header:
String oauthHeader = api.getHeaderExtractor().extract(request);
request.addHeader(OAuthConstants.HEADER, oauthHeader);
break;
case QueryString:
for (Map.Entry<String, String> entry : request.getOauthParameters().entrySet())
{
request.addQuerystringParameter(entry.getKey(), entry.getValue());
}
break;
}
}
}