omniauth-vis

This small gem will help Rails apps to connect to Vipassana Identity Server (VIS) using Auth2

It provides:

  • a strategy file to be used with omniauth gem
  • a service to request VIS APIs endpoints

Register your app

Contact VIS administrators ([email protected], [email protected], [email protected]) and provide following informations about your app:

Install the gem

gem add omniauth-vis

Configure

# config/initializers/vis.rb

Rails.application.config.vis = {
  server_url: "https://identity.dhamma.org/"
  app_id: "APP_ID_PROVIDED",
  app_secret: "APP_SECRET_PROVIDED",
}

Use omniauth strategy

You first need to install omniauth-oauth2 gem, then add a new provider :

# config/initializers/omniauth.rb

require "omniauth/strategies/vis"

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :vis, Rails.application.config.vis["app_id"], Rails.application.config.vis["app_secret"]
end

Use VIS API

Vis::Api will implement Oauth2 Client Credentials Flow behind the scene

require "vis/api"
@vis_api = Vis::Api.new(client_id: "xx", client_secret: "xx", server_url: "https://identity.dhamma.org")
@vis_api.get("api_path")
@vis_api.post("api_path", data)

Documentation about available api can be found at https://test.identity.dhamma.org/doc

Example

@vis_api.post("/api/v1/users", {
  email: "[email protected]",
  username: "test",
  encrypted_password: "xxxxxxxxxx"
})

Developers, how to publish new version of the gem

gem build omniauth-vis
gem push omniauth-vis-X.X.X.gem