Sha256: 344d41b538b2135809e0cc33a33a135c1895fc31d70b90177776be0f88315cc7
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
require "omniauth-oauth2" module OmniAuth module Strategies class Canvas < OmniAuth::Strategies::OAuth2 option :name, "canvas" option :client_options, { :site => "https://canvas.instructure.com", :authorize_url => "/login/oauth2/auth", :token_url => "/login/oauth2/token" } option :provider_ignores_state, true option :token_params, { :parse => :json } uid do access_token['user']['id'] end info do { 'name' => raw_info['name'], 'email' => raw_info['primary_email'], 'bio' => raw_info['bio'], 'title' => raw_info['title'], 'nickname' => raw_info['login_id'], 'active_avatar' => raw_info['avatar_url'], 'url' => access_token.client.site } end extra do { :raw_info => raw_info } end def raw_info @raw_info ||= access_token.get("/api/v1/users/#{access_token['user']['id']}/profile").parsed end def query_string '' end end end end OmniAuth.config.add_camelization 'canvas', 'Canvas'
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
omniauth-canvas-0.1.2 | lib/omniauth/strategies/canvas.rb |