The ‘Koinz’ gem is the client-library for koinz services:

  • The Koinz omniauth provider (for OAuth2 access)

  • For publishing and subscribing to Koinz notifications!

# Token Authentication #

As a koinz client-application, you can make 2 types of calls to other applications:

  • within the context of the an end-user (Standard OAuth)

  • directly invoking a call without the end-user (2-legged)

To invoke an ‘token-authenticable’ call with user-context

## Only For User Manager ##

param

auth_token: The auth token string

param

uri: The uri to be invoked on the User Manager

returns

Decoded Json information.

Koinz::OAuth2Client::UserManager.call(auth_token, uri)

Example: Koinz::OAuth2Client::UserManager.call(auth_token, ‘/users/sign_out.json’)

## For other applications ##

param

auth_token: The auth token string

param

host: The host you want to invoke this on. MERCHANT_APP, PARTNER_APP etc.

param

uri: The uri to be invoked on the host

param

params: optional arguments

returns

Decoded Json information.

Koinz::OAuth2Client.Application.oauth_call(auth_token, host, uri, params => {})

Example: Koinz::OAuth2Client.Application.oauth_call(auth_token, MERCHANT_APP, ‘/merchant.json’, :name => ‘name’

To invoke a ‘2-legged’ call without user-context

param

host: The host you want to invoke this on. MERCHANT_APP, PARTNER_APP etc.

param

uri: The uri to be invoked on the host

param

params: optional arguments

Koinz::OAuth2Client::Application.two_legged_call(host, uri, params = {})

NOTE: This call is a protected call - internally it picks up the APP, APP_ID and APP_SECRET of the application and secures a oauth_token. In this particular case, if the application token has expired, it will be automatically refreshed!