Sha256: f8c08c34c48df644145302e15846dd3d311a8d086bc445a3b97940c7780399c0
Contents?: true
Size: 848 Bytes
Versions: 1
Compression:
Stored size: 848 Bytes
Contents
# frozen_string_literal: true require 'omniauth-oauth2' module OmniAuth module Strategies # OmniAuth strategy for Calendly class Calendly < OmniAuth::Strategies::OAuth2 option :name, 'calendly' option :client_options, site: 'https://auth.calendly.com' USER_API_URL = 'https://api.calendly.com/users/' uid { extract_uid } extra { {raw_info: raw_info} } private def raw_info return @raw_info if defined?(@raw_info) @raw_info = access_token.get("#{USER_API_URL}me").parsed end def extract_uid uri = raw_info.dig('resource', 'uri') return unless uri re = /\A#{USER_API_URL}(.+)\z/ m = re.match uri return if m.nil? m[1] end def callback_url full_host + callback_path end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
omniauth-calendly-1.0.3 | lib/omniauth/strategies/calendly.rb |