Rack middleware for OAuth 2.0