lib/omniauth/strategies/line.rb in omniauth-ljne-0.1.7 vs lib/omniauth/strategies/line.rb in omniauth-ljne-0.1.8

- old
+ new

@@ -4,49 +4,34 @@ module OmniAuth module Strategies class Line < OmniAuth::Strategies::OAuth2 option :name, 'line' option :scope, 'profile openid email' - + option :client_options, { site: 'https://access.line.me', authorize_url: '/oauth2/v2.1/authorize', token_url: '/oauth2/v2.1/token' } + # host changed def callback_phase options[:client_options][:site] = 'https://api.line.me' super end - alias :old_callback_url :callback_url - def callback_url - if request.params['callback_url'] - request.params['callback_url'] - else - old_callback_url - end + options[:redirect_uri] || (full_host + script_name + callback_path) end - def callback_path - params = session['omniauth.params'] - - if params.nil? || params['callback_url'].nil? - super - else - URI(params['callback_url']).path - end - end - uid { raw_info['userId'] } info do { name: raw_info['displayName'], - email: extra["email"], - image: raw_info['pictureUrl'] + image: raw_info['pictureUrl'], + email: extra['email'] } end extra do hash = {} @@ -55,9 +40,10 @@ decoded = ::JWT.decode(access_token['id_token'], nil, false).first hash[:id_info] = decoded end end + # Require: Access token with PROFILE permission issued. def raw_info @raw_info ||= JSON.load(access_token.get('v2/profile').body) rescue ::Errno::ETIMEDOUT raise ::Timeout::Error end