Sha256: d95aae3be6125f51a1386ae503c1ab93c71989fe688ad1710d3c11b05caa0b70
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
require 'omniauth-oauth2' module OmniAuth module Strategies # Meetup omniauth-oauth2 strategy class Meetup < OmniAuth::Strategies::OAuth2 option :name, 'meetup' option :client_options, site: 'https://api.meetup.com', authorize_url: 'https://secure.meetup.com/oauth2/authorize', token_url: 'https://secure.meetup.com/oauth2/access' def request_phase super end uid { raw_info['id'] } info do { id: raw_info['id'], name: raw_info['name'], photo_url: meetup_photo_url, image: meetup_photo_url, urls: { public_profile: raw_info['link'] }, description: raw_info['bio'], location: meetup_location } end extra do { 'raw_info' => raw_info } end def callback_url # Fixes regression in omniauth-oauth2 v1.4.0 by https://github.com/intridea/omniauth-oauth2/commit/85fdbe117c2a4400d001a6368cc359d88f40abc7 options[:callback_url] || (full_host + script_name + callback_path) end def raw_info @raw_info ||= JSON.parse(access_token.get('/2/member/self').body) end private def meetup_location [raw_info['city'], raw_info['state'], raw_info['country']].reject do |v| !v || v.empty? end.join(', ') end def meetup_photo_url raw_info.key?('photo') ? raw_info['photo']['photo_link'] : nil end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
omniauth-meetup-0.0.8 | lib/omniauth/strategies/meetup.rb |