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