implement generic oauth-consumer module