module OAuth2
Overview
The OAuth module provides an OAuth2::Client as specified
by RFC 6749.
NOTE To use OAuth2, you must explicitly import it with require "oauth2"
Performing HTTP client requests with OAuth2 authentication
Assuming you have an access token, you can setup an HTTP::Client
to be authenticated with OAuth2 using this code:
require "http/client"
require "oauth2"
# Here we use a bearer token, but it could be a mac token. We also set the
# expires in value to 172,800 seconds, or 48 hours
access_token = OAuth2::AccessToken::Bearer.new("some_access_token", 172_800)
# Create an HTTP::Client
client = HTTP::Client.new("api.example.com", tls: true)
# Prepare it for using OAuth2 authentication
access_token.authenticate(client)
# 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.
Obtaining access tokens
See OAuth2::Client for an example.
Defined in:
oauth2/auth_scheme.croauth2/oauth2.cr