This gem provides a new Adapter for the Artemis GraphQL ruby client to support HMAC Authentication using ApiAuth
Add this line to your application's Gemfile:
gem 'artemis-api_auth'And then execute:
$ bundle
Or install it yourself as:
$ gem install artemis-api-auth-adapter
After following the installation instruction of Artemis, update your config/graphql.yml to use the new net_http_hmac adapter
default: &default
  # The underlying client library that actually makes an HTTP request.
  # Available adapters are :net_http, :net_http_persistent, :curb, and :test.
  #
  # It is set to :net_http by default.
  adapter: :net_http_hmacYou can configure ApiAuth by setting the default_context in your Artemis client
class Artsy < Artemis::Client
  # Set the default context for HMAC authentication from the secrets
  # This will be used in our Net HTTP HMAC adapter
  # @see {Artemis::Adapters::NetHttpHmacAdapter}
  self.default_context = {
    api_auth: {
      access_id: '1',
      secret_key: 'very-secret-hmac-api-key',
      # optional
      digest: 'sha256', # default since more secure
      override_http_method: 'POST' # default: nil
    }
  }
endAfter checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/JanStevens/artemis-api-auth
The gem is available as open source under the terms of the MIT License.