Sha256: 37356f411a36687d6ec849ea5e24bae2f026c3dedcc0238aaa7ead8177df2b25

Contents?: true

Size: 638 Bytes

Versions: 1

Compression:

Stored size: 638 Bytes

Contents

require 'uri'
require 'net/http'
require 'json'

module KeycloakConnectRuby
  class Token
    def self.generate_from_client_credentials
      # colocar logger e proxy aqui
      uri = URI("#{KeycloakConnectRuby.config.url}/realms/#{KeycloakConnectRuby.config.realm}/protocol/openid-connect/token")

      params = {
        'client_id' => KeycloakConnectRuby.config.client_id,
        'client_secret' => KeycloakConnectRuby.config.client_secret,
        'grant_type' => 'client_credentials'
      }

      response = Net::HTTP.post_form(uri, params)
      tokens = JSON.parse(response.body)
      tokens['access_token']
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
keycloak-connect-ruby-1.0.0 lib/keycloak-connect-ruby/token.rb