require 'omniauth/strategies/oauth2' class OmniAuth::Strategies::Seesaw < OmniAuth::Strategies::OAuth2 option :name, 'seesaw' option :client_options, { site: 'https://api.seesaw.co' } uid do raw_info['id'] end info do { name: raw_info['name'], avatar_url: raw_info['avatar_url'] } end extra do { raw_info: raw_info } end def raw_info @raw_info ||= access_token.get('/v1/me').parsed end end