Index: trunk/src/oauth/signpost/OAuthProvider.java
===================================================================
--- trunk/src/oauth/signpost/OAuthProvider.java	(revision 4231)
+++ trunk/src/oauth/signpost/OAuthProvider.java	(revision 6849)
@@ -108,4 +108,9 @@
      *        your application as a desktop app (which would only be able to
      *        handle OOB requests).
+     * @param customOAuthParams
+     *        you can pass custom OAuth parameters here which will go directly
+     *        into the signer, i.e. you don't have to put them into the request
+     *        first. This is useful for pre-setting OAuth params for signing.
+     *        Pass them sequentially in key/value order.
      * @return The URL to which the user must be sent in order to authorize the
      *         consumer. It includes the unauthorized request token (and in the
@@ -122,7 +127,8 @@
      *         if server communication failed
      */
-    public String retrieveRequestToken(OAuthConsumer consumer, String callbackUrl)
-            throws OAuthMessageSignerException, OAuthNotAuthorizedException,
-            OAuthExpectationFailedException, OAuthCommunicationException;
+    public String retrieveRequestToken(OAuthConsumer consumer, String callbackUrl,
+            String... customOAuthParams) throws OAuthMessageSignerException,
+            OAuthNotAuthorizedException, OAuthExpectationFailedException,
+            OAuthCommunicationException;
 
     /**
@@ -149,4 +155,9 @@
      *        value. If your app has received a callback, the verfication code
      *        was passed as part of that request instead.
+     * @param customOAuthParams
+     *        you can pass custom OAuth parameters here which will go directly
+     *        into the signer, i.e. you don't have to put them into the request
+     *        first. This is useful for pre-setting OAuth params for signing.
+     *        Pass them sequentially in key/value order.
      * @throws OAuthMessageSignerException
      *         if signing the request failed
@@ -159,7 +170,8 @@
      *         if server communication failed
      */
-    public void retrieveAccessToken(OAuthConsumer consumer, String oauthVerifier)
-            throws OAuthMessageSignerException, OAuthNotAuthorizedException,
-            OAuthExpectationFailedException, OAuthCommunicationException;
+    public void retrieveAccessToken(OAuthConsumer consumer, String oauthVerifier,
+            String... customOAuthParams) throws OAuthMessageSignerException,
+            OAuthNotAuthorizedException, OAuthExpectationFailedException,
+            OAuthCommunicationException;
 
     /**
