An open API service indexing awesome lists of open source software.

https://github.com/bigcommerce/omniauth-bigcommerce

OmniAuth Bigcommerce Strategy
https://github.com/bigcommerce/omniauth-bigcommerce

Last synced: about 1 year ago
JSON representation

OmniAuth Bigcommerce Strategy

Awesome Lists containing this project

README

          

# OmniAuth Bigcommerce Strategy
[![Build Status](https://travis-ci.org/bigcommerce/omniauth-bigcommerce.png?branch=master)](https://travis-ci.org/bigcommerce/omniauth-bigcommerce)

This gem provides a simple way to authenticate to Bigcommerce using OmniAuth.

## Installation

Add to your application's Gemfile:

```
gem 'omniauth-bigcommerce'
```

## Usage

First, you will need to [register an application](https://developer.bigcommerce.com).

Create a `config/initializers/omniauth.rb` initializer:
```
use OmniAuth::Builder do
provider :bigcommerce, ENV['BC_CLIENT_ID'], ENV['BC_CLIENT_SECRET'], 'users_basic_information store_v2_settings store_v2_orders'
end
```

You may also overwrite default config options:
```
Rails.application.config.middleware.use OmniAuth::Builder do
provider :bigcommerce, ENV['BC_CLIENT_ID'], ENV['BC_CLIENT_SECRET'],
{
scope: "users_basic_information store_v2_products store_v2_information",
client_options: {
site: 'https://login.bigcommerce.com'
}
}
end
```
See the [Omniauth Wiki](https://github.com/intridea/omniauth/wiki) for more information.

## Environment Variables
The gem will look for the bigcommerce oauth provider URL in the `BC_AUTH_SERVICE` environment variable.
It defaults to https://login.bigcommerce.com if the env variable is not defined.

## Auth Hash Schema

The following response format is provided back to you for this provider:

```
{
uid: '12345',
info: {
name: 'John Doe',
email: 'john.doe@example.com'
},
credentials: {
token: 'xyz123abc'
},
extra: {
raw_info: {},
scopes: 'requested_scopes store_v2_settings'
context: 'store/xyz123',
account_uuid: 'fooBar'
}
}
```

## Contributing

Fork & submit a pull request.