The project is in a healthy, maintained state
OmniAuth Oauth2 strategy for Tipalti allowing you to connect to a specific Tipalti instance.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Gem Version CircleCI

OmniAuth Tipalti

Strategy to authenticate with Tipalti via OAuth2 in OmniAuth.

Installation

Add to your Gemfile:

gem 'omniauth-tipalti'

Then bundle install.

Tipalti Setup

Visit the Tipalti Developer portal and create your developer application.

Make note of your Client ID and Client Secret.

Make sure you set your Return URL to the full path to your application.

Usage

For additional information, refer to the OmniAuth wiki.

Rails

Standard

Here's an example for adding the middleware to a Rails app in config/initializers/omniauth.rb:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :tipalti, 
  		   ENV['TIPALTI_CLIENT_ID'], 
  		   ENV['TIPALTI_CLIENT_SECRET'],
           redirect_uri: Rails.application.routes.url_helpers.my_integration_response_url
end

You can now access the OmniAuth Tipalti OAuth2 URL: /auth/tipalti

If you are using a Tipalti sandbox applicaiton, you can optionally set the site:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :tipalti, 
  		   ...
  		   client_options: {
             site: ' https://sso.sandbox.tipalti.com',
           },
           ...
end

Dynamic

If your Rails application needs to support multiple Tipalti applications, you can pass in your configuration dynamically:

Rails.application.config.middleware.use OmniAuth::Builder do
  TIPALTI_SETUP_PROC = lambda do |env|
    request = Rack::Request.new(env)

    # Load dynamic content into dynamic_content

    env['omniauth.strategy'].options[:client_id]     = dynamic_content.client_id
    env['omniauth.strategy'].options[:client_secret] = dynamic_content.client_secret
  end

  provider :tipalti,
           redirect_uri: Rails.application.routes.url_helpers.my_integration_response_url
           setup: TIPALTI_SETUP_PROC
end

Configuration

You can configure several options, which you pass in to the provider method via a hash:

  • scope: A space-separated list of permissions you want to request from the user.

  • redirect_uri: Override the redirect_uri used by the gem. Note this must match exactly what you specified in the WhoPlusYou Developer Portal in your Client Domains setting.

License

Copyright (C) 2023 Jordan Ell. See LICENSE for details.