Browse docs

Ruby SDK

Official Ruby 3.0+ SDK. Works with Rails, Sinatra, Hanami, or plain Rack apps. JWKS cache + Faraday-backed admin client.

Install

gem install kolaylogin

Verify a session (Rails controller)

class ApplicationController < ActionController::Base
  before_action :require_kolay_user

  def require_kolay_user
    payload = KolayLogin::Session.verify_jwt(
      cookies['__session'],
      base_url: "https://api.kolaylogin.com",
      issuer:   ENV.fetch('KL_JWT_ISSUER'),
    )
    @current_user_id = payload['sub']
  rescue StandardError
    head :unauthorized
  end
end

Admin client

kolay = KolayLogin::Client.new(
  base_url:   'https://api.kolaylogin.com',
  secret_key: ENV.fetch('KL_SECRET_KEY'),
)

page = kolay.users.list(limit: 20)
org  = kolay.organizations.create(name: 'Acme', slug: 'acme')
kolay.invitations.create(email: 'new@example.com', org_id: org['organization']['id'])