<p>tldr: See <a href="https://github.com/dghubble/oauth1">https://github.com/dghubble/oauth1</a> for OAuth1. It has a design similar to <a href="https://github.com/golang/oauth2">https://github.com/golang/oauth2</a>.</p>
<p>Earlier this year, I hunted for an oauth1 package that provided a standard http.Client to handle authentication and had a design similar to Google's <a href="https://github.com/golang/oauth2">oauth2</a> package. An <a href="https://www.reddit.com/r/golang/comments/2ky01u/is_there_an_idiomatic_oauth_1_library/">earlier post</a> captures another redditor's dissatisfaction with existing packages.</p>
<p>A few months ago I ended up writing such an oauth1 package for the Twitter and Digits Go APIs. I've been using it for a while and recently improved its quality and test coverage to the point that I'd like to share it. If you have any feedback or find any bugs, I'd love to hear about it. Thanks!</p>
<hr/>**评论:**<br/><br/>: <pre><p>[deleted]</p></pre>dghubble: <pre><p>Yes, mrjones did have a major rewrite a month ago. Still, I prefer the smaller API, structure, and better coverage of this implementation. Also authorization flow can be directly wrapped by an vanilla interface.</p>
<p>I'm unaware of a real world provider which still allows repeated key values or RSA signatures. In either case, I'm open to adding support if a use case is found.</p>
<p>I should allow the base round tripper to be configured as oauth2 does. I'll take that as an issue. Thanks.</p></pre>: <pre><p>[deleted]</p></pre>dghubble: <pre><p>Alright, an RSA signer will be added to support them.</p>
<p>Looks like Xero public applications are already supported, while the private and partner apps use RSA.</p></pre>