I hate to say it but that confused me pretty good. Something tells me though that if it doesn't invalidate it the first time around, it may be open to replay attacks?
I don't think so. Each time you visit the URL, for example
https://btct.co/authorize?oauth_token=c6da005d45642ba73589e37444304412020f36bc
and approve the access request, it returns the verification code in the form of a URL like
https://btct.co/authorize?oauth_token=c6da005d45642ba73589e37444304412020f36bc&oauth_verifier=
Each time I grant access, a NEW verifier string is generated, and the old one is invalidated. The problem is that once I approve access, the page redirects to
https://btct.co/authorize?oauth_token=c6da005d45642ba73589e37444304412020f36bc&oauth_verifier=
OAuth server status 401, oauth_problem=verifier_invalid
Hope that helps clears things up. What I think is happening is whenever the page is called, the program invalidates any credentials used for the token in the request URL, so when the page refreshes, BAM, the verifier string in the URL is already invalid.
When you grant access, it should redirect back to your callback page, correct? Is this the oob situation we were discussing earlier? No callback causes it to call itself again? With the DDoS issues lately I haven't had any time to fix the oob functionality. It's high on the list though.