docs: def extract_common_fields(self, data):
          '''
          This function extracts information from the /userinfo endpoint which
          will be consumed by allauth.socialaccount.adapter.populate_user().
          Look there to find which key-value pairs that should be saved in the
          returned dict.
  
          Typical return dict:
          {
              "userid": "76a7a061-3c55-430d-8ee0-6f82ec42501f",
              "userid_sec": ["feide:andreas@uninett.no"],
              "name": "Andreas \u00c5kre Solberg",
              "email": "andreas.solberg@uninett.no",
              "profilephoto": "p:a3019954-902f-45a3-b4ee-bca7b48ab507",
              "username": "andreas",
          }
          '''
          # Make shallow copy to prevent possible mutability issues
          data = dict(data)
  
          # If a Feide username is available, use it. If not, use the "username"
          # of the email-address
          for userid in data.get('userid_sec'):
              usertype, username = userid.split(':')
              if usertype == 'feide':
                  data['username'] = username.split('@')[0]
                  break
          else:
              # Only entered if break is not executed above
              data['username'] = data.get('email').split('@')[0]
  
          return data