FaradayMiddleware::OAuth2Refresh

[![Gem Version][gem-version-svg]][gem-version-url] [![Build Status][build-status-svg]][build-status-url] [![Coverage Status][coverage-status-svg]][coverage-status-url]
[![Code Climate][codeclimate-status-svg]][codeclimate-status-url] [![Scrutinizer Code Quality][scrutinizer-status-svg]][scrutinizer-status-url]
[![Downloads][downloads-svg]][downloads-url] [![Docs][docs-rubydoc-svg]][docs-rubydoc-url] [![License][license-svg]][license-url]

Faraday middleware to manage OAuth token authorization with token refresh.

Description

This gem is a piece of Faraday middleware that adds OAuth token handling using the oauth2 gem.

Installation

Add this line to your application's Gemfile:

gem 'faraday_middleware-oauth2_refresh'

And then execute:

$ bundle

Or install it yourself as:

$ gem install faraday_middleware-oauth2_refresh

Usage

require 'oauth2'
require 'faraday_middleware/oauth2_refresh'

client = OAuth2::Client.new('my_client_id', 'my_client_secret', site: 'https://example.com' )
token  = client.password.get_token('username', 'password', { headers: { 'Authorization' => 'Basic my_api_key' } })

conn = Faraday.new(url: "http://example.com") do |builder|
  builder.request :oauth2_refresh, token
  builder.adapter Faraday.default_adapter
end

conn.get "/foo" # sends token

Change Log

See CHANGELOG.md

Project Repo

Problems, Comments, Suggestions, Contributions?

Any reports of problems, comments or suggestions are most welcome.

Please report these on Github

License

FaradayMiddleware::OAuth2Refresh is available under an MIT-style license. See LICENSE for details.

FaradayMiddleware::OAuth2Refresh © 2015-2021 by John Wang