Commit 66f719564872425b50fefb927210fdd71cff75a8

Authored by Caio Almeida
Committed by Larissa Reis
1 parent a3c24add

Ensure that the federated user has e-mail

app/concerns/authenticated_system.rb
... ... @@ -28,7 +28,13 @@ module AuthenticatedSystem
28 28 user = nil
29 29 if session[:external]
30 30 user = User.new #FIXME: User needs to have at least email
31   - user.external_person_id = session[:external]
  31 + external_person = ExternalPerson.where(id: session[:external]).last
  32 + if external_person
  33 + user.external_person_id = external_person.id
  34 + user.email = external_person.email
  35 + else
  36 + session[:external] = nil
  37 + end
32 38 else
33 39 id = session[:user]
34 40 user = User.where(id: id).first if id
... ...
app/models/concerns/external_user.rb
... ... @@ -44,6 +44,7 @@ module ExternalUser
44 44 user = User.external_login(login, password, domain)
45 45 if user
46 46 u = User.new
  47 + u.email = user['user']['email']
47 48 u.login = login
48 49 # FIXME: Instead of the struct below, we should use the "webfinger" object returned by the webfinger_lookup method
49 50 webfinger = OpenStruct.new(
... ...