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 authfyio

Verify a session (Rails controller)

class ApplicationController < ActionController::Base
  before_action :require_kolay_user

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

Admin client

kolay = Authfyio::Client.new(
  base_url:   'https://api.authfyio.com',
  secret_key: ENV.fetch('AF_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'])