diff --git a/lib/omniauth/strategies/windowslive.rb b/lib/omniauth/strategies/windowslive.rb index 447ea16..9fb912c 100644 --- a/lib/omniauth/strategies/windowslive.rb +++ b/lib/omniauth/strategies/windowslive.rb @@ -28,7 +28,6 @@ class Windowslive < OmniAuth::Strategies::OAuth2 info do { 'id' => raw_info['id'], - 'emails' => emails_parser, 'name' => raw_info['name'], 'first_name' => raw_info['first_name'], 'last_name' => raw_info['last_name'], @@ -36,7 +35,7 @@ class Windowslive < OmniAuth::Strategies::OAuth2 'link' => raw_info['link'], 'locale' => raw_info['locale'], 'updated_time' => raw_info['updated_time'] - } + }.merge(self.emails_parser) end extra do @@ -65,6 +64,7 @@ def build_access_token def emails_parser emails = raw_info['emails'] emails_parsed = [] + email = nil if emails if emails['preferred'] @@ -72,7 +72,8 @@ def emails_parser end if emails['account'] - emails_parsed << { 'value' => emails['account'], 'type' => 'account' } + email = emails['account'] + emails_parsed << { 'value' => email, 'type' => 'account' } end if emails['personal'] @@ -87,8 +88,7 @@ def emails_parser emails_parsed << { 'value' => emails['other'], 'type' => 'other' } end end - - emails_parsed + { 'emails' => emails_parsed, 'email' => email } end end end