The OAuth module provides an
OAuth::Consumer as specified by RFC5849.
Performing HTTP client requests with OAuth authentication
Assuming you have an access token, its secret, the consumer key and the consumer secret,
you can setup an
HTTP::Client to be authenticated with OAuth using this code:
require "http/client" require "oauth" token = "some_token" secret = "some_secret" consumer_key = "some_consumer_key" consumer_secret = "some_consumer_secret" # Create an HTTP::Client as usual client = HTTP::Client.new("api.example.com", tls: true) # Prepare it for using OAuth authentication OAuth.authenticate(client, token, secret, consumer_key, consumer_secret) # Execute requests as usual: they will be authenticated client.get("/some_path")
This is implemented with
HTTP::Client#before_request to add an authorization
header to every request.
Alternatively, you can create an
OAuth::Consumer and then invoke its
method, or create an
OAuth::AccessToken and invoke its
Obtaining access tokens
OAuth::Consumer for an example.
Class Method Summary
.authenticate(client : HTTP::Client, token, token_secret, consumer_key, consumer_secret, extra_params = nil) : Nil
Sets up an HTTP::Client to add an OAuth authorization header to every request performed.
Class Method Detail
Sets up an HTTP::Client to add an OAuth authorization header to every request performed. Check this module's docs for an example usage.