https://github.com/grokify/faraday_middleware-oauth2_refresh
Faraday OAuth2 Request Middleware with Token Refresh
https://github.com/grokify/faraday_middleware-oauth2_refresh
Last synced: about 2 months ago
JSON representation
Faraday OAuth2 Request Middleware with Token Refresh
- Host: GitHub
- URL: https://github.com/grokify/faraday_middleware-oauth2_refresh
- Owner: grokify
- License: mit
- Created: 2015-05-31T10:54:25.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2025-02-23T09:30:04.000Z (4 months ago)
- Last Synced: 2025-04-17T21:59:28.747Z (2 months ago)
- Language: Ruby
- Homepage:
- Size: 42 KB
- Stars: 9
- Watchers: 2
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# 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][![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](https://gitlab.com/oauth-xx/oauth2/).
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'faraday_middleware-oauth2_refresh'
```And then execute:
```sh
$ bundle
```Or install it yourself as:
```sh
$ gem install faraday_middleware-oauth2_refresh
```## Usage
```ruby
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
endconn.get "/foo" # sends token
```## Change Log
See [CHANGELOG.md](CHANGELOG.md)
## Links
Project Repo
* https://github.com/grokify/faraday_middleware-oauth2_refresh
## Problems, Comments, Suggestions, Contributions?
Any reports of problems, comments or suggestions are most welcome.
Please report these on [Github](https://github.com/grokify/faraday_middleware-oauth2_refresh)
## License
`FaradayMiddleware::OAuth2Refresh` is available under an MIT-style license. See {file:LICENSE.md} for details.
`FaradayMiddleware::OAuth2Refresh` © 2015-2023 by John Wang
[gem-version-svg]: https://badge.fury.io/rb/faraday_middleware-oauth2_refresh.svg
[gem-version-url]: http://badge.fury.io/rb/faraday_middleware-oauth2_refresh
[downloads-svg]: http://ruby-gem-downloads-badge.herokuapp.com/faraday_middleware-oauth2_refresh
[downloads-url]: https://rubygems.org/gems/faraday_middleware-oauth2_refresh
[build-status-svg]: https://github.com/grokify/faraday_middleware-oauth2_refresh/workflows/ruby%20build/badge.svg?branch=master
[build-status-url]: https://github.com/grokify/faraday_middleware-oauth2_refresh/actions
[coverage-status-svg]: https://coveralls.io/repos/grokify/faraday_middleware-oauth2_refresh/badge.svg?branch=master
[coverage-status-url]: https://coveralls.io/r/grokify/faraday_middleware-oauth2_refresh?branch=master
[dependency-status-svg]: https://gemnasium.com/grokify/faraday_middleware-oauth2_refresh.svg
[dependency-status-url]: https://gemnasium.com/grokify/faraday_middleware-oauth2_refresh
[codacy-svg]: https://api.codacy.com/project/badge/Grade/88aedf52809d460891546fc7e11bd2c6
[codacy-url]: https://app.codacy.com/manual/grokify/faraday_middleware-oauth2_refresh/dashboard
[codeclimate-status-svg]: https://codeclimate.com/github/grokify/faraday_middleware-oauth2_refresh/badges/gpa.svg
[codeclimate-status-url]: https://codeclimate.com/github/grokify/faraday_middleware-oauth2_refresh
[scrutinizer-status-svg]: https://scrutinizer-ci.com/g/grokify/faraday_middleware-oauth2_refresh/badges/quality-score.png?b=master
[scrutinizer-status-url]: https://scrutinizer-ci.com/g/grokify/faraday_middleware-oauth2_refresh/?branch=master
[references-svg]: https://www.versioneye.com/ruby/faraday_middleware-oauth2_refresh/reference_badge.svg
[references-url]: https://www.versioneye.com/ruby/faraday_middleware-oauth2_refresh/
[docs-rubydoc-svg]: https://img.shields.io/badge/docs-rubydoc-blue.svg
[docs-rubydoc-url]: http://www.rubydoc.info/gems/faraday_middleware-oauth2_refresh/
[license-svg]: https://img.shields.io/badge/license-MIT-blue.svg
[license-url]: https://github.com/grokify/faraday_middleware-oauth2_refresh/blob/master/LICENSE.txt