class OAuth2::AccessToken
def configure_authentication!(opts, verb)
def configure_authentication!(opts, verb) mode_opt = options[:mode] mode = if mode_opt.respond_to?(:call) mode_opt.call(verb) elsif mode_opt.is_a?(Hash) key = verb.to_sym # Try symbol key first, then string key; default to :header when missing mode_opt[key] || mode_opt[key.to_s] || :header else mode_opt end case mode when :header opts[:headers] ||= {} opts[:headers].merge!(headers) when :query # OAuth 2.1 note: Bearer tokens in the query string are omitted from the spec due to security risks. # Prefer the default :header mode whenever possible. opts[:params] ||= {} opts[:params][options[:param_name]] = token when :body opts[:body] ||= {} if opts[:body].is_a?(Hash) opts[:body][options[:param_name]] = token else opts[:body] += "&#{options[:param_name]}=#{token}" end # @todo support for multi-part (file uploads) else raise("invalid :mode option of #{mode}") end end