Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gemhome/faraday-oauth1
Faraday-OAuth 1 middleware
https://github.com/gemhome/faraday-oauth1
Last synced: 10 days ago
JSON representation
Faraday-OAuth 1 middleware
- Host: GitHub
- URL: https://github.com/gemhome/faraday-oauth1
- Owner: gemhome
- License: mit
- Created: 2023-10-12T14:02:25.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-18T15:07:52.000Z (about 1 year ago)
- Last Synced: 2024-06-22T13:43:59.284Z (5 months ago)
- Language: Ruby
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-faraday - oauth1 - adds an oauth1 access token to each request, via param or header (Middleware)
README
# Faraday OAuth1
[![CI](https://github.com/gemhome/faraday-oauth1/actions/workflows/ci.yaml/badge.svg)](https://github.com/gemhome/faraday-oauth1/actions/workflows/ci.yaml)
[![Gem](https://img.shields.io/gem/v/faraday-oauth1.svg?style=flat-square)](https://rubygems.org/gems/faraday-oauth1)
[![License](https://img.shields.io/github/license/gemhome/faraday-oauth1.svg?style=flat-square)](LICENSE.md)Faraday OAuth1 Middleware.
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'faraday-oauth1'
```Note: There's an existing gem https://rubygems.org/gems/faraday-oauth which looks similar but, at this time, but does not have its [source](https://github.com/instructure/faraday-oauth) available and is not available for collaboration, though the gem is licensed as MIT and can be inspected.
This library was written without reference to the faraday-oauth gem.And then execute:
```shell
bundle install
```Or install it yourself as:
```shell
gem install faraday-oauth1
```## Usage
```ruby
require 'faraday'
require 'faraday/oauth1'base_uri = "https://example.com"
path = "/webservices/has-oauth1"
headers = {}
headers["Content-Type"] ||= "application/x-www-form-urlencoded"
# see https://github.com/laserlemon/simple_oauth for credentials options
credentials = {
consumer_key: consumer_key,
consumer_secret: consumer_secret,
access_token: nil,
access_token_secret: nil
}.compact
auth_type = "param"
conn = Faraday.new(url: base_uri) do |builder|
builder.request :oauth1, auth_type, **credentials
builder.use Faraday::Response::RaiseError
builder.adapter Faraday.default_adapter
builder.headers.update(headers) if headers
end
response = conn.get(path)
```## Development
After checking out the repo, run `bin/setup` to install dependencies.
Then, run `bin/test` to run the tests.
To install this gem onto your local machine, run `rake build`.
To release a new version, make a commit with a message such as "Bumped to 0.0.2" and then run `rake release`.
See how it works [here](https://bundler.io/guides/creating_gem.html#releasing-the-gem).## Contributing
Bug reports and pull requests are welcome on [GitHub](https://github.com/gemhome/faraday-oauth1).
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).