element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.24k stars 2.01k forks source link

Avatar not imported from Google sign-in despite asking for it #28483

Closed arobertn closed 3 days ago

arobertn commented 3 days ago

Steps to reproduce

  1. Sign up as new user using Google sign-in
  2. When the "app is requesting additional information" leave avatar checked
  3. Complete signup and return to app

Outcome

What did you expect?

Avatar from Google is used.

What happened instead?

You get a blank initial avatar and are asked to upload a picture from your local disk.

Operating system

macOS

Application version

1.11.85

How did you install the app?

Downloaded .dmg image from element.io

Homeserver

Don't know

Will you send logs?

No

arobertn commented 3 days ago

Note, email address and display name (the other two additional-information items you can leave checked to import from Google) DO come over properly, so it's just the third, avatar image, that does not.

t3chguy commented 3 days ago

That's up to your homeserver to do. Element Web has no concept of Google auth, its just a button rendered by your homeserver via a Matrix API and handled entirely by your homeserver. I suggest opening an issue with your homeserver provider for this misconfiguration.

arobertn commented 3 days ago

Sure, I'll try to find a way to open the request with https://matrix-client.matrix.org (not immediately obvious on visiting the www site). Just curious as I wasn't offered any choice about servers, just straight into a signup screen that offered Google as an option – how is this default home server determined? Is it a choice by Element?

arobertn commented 3 days ago

Also, @t3chguy are there some logs I could send to help verify that the problem is indeed on the Matrix end, i.e. showing that it was not the case that Matrix tried to set the avatar and but Element rejected or overwrote it with the default?

t3chguy commented 3 days ago

The client is not involved from the moment you click the Google button until you are fully logged in at the end. You could try collect browser logs from the actual OIDC interaction but that'd be outside of Element.

As soon as you click the Google button you are sent to a Matrix auth redirect API, which then sends you to Google, when when you're done with that you go to a Synapse-specific API which eventually redirects you back to Element when auth is complete.

Element never receives any information in this flow other than a login token which it exchanges for an access token