Plugin Oauth2: avatar non utilizzato

Ciao,

Sto separando in un argomento un problema a cui si fa riferimento qui Discourse OAuth2 Basic - #304 by nodomain
qui Discourse OAuth2 Basic - #316 by jmlord (sono io)
e forse qui User avatar not updating on re-log in

L’account viene creato correttamente ma l’avatar non è incluso. Risposta di esempio:

Body: {
  "access_token":"...",
  "token_type":"bearer",
  "expires_in":"3600",
  "scope":"profile",
  "profile" : {
    "id":1234,
    "email": "...",
    "name": "...",
    "picture": "https://somedomain.com/somevalidpicture.jpg"
  }
}

La variabile oauth2 callback user info paths include il valore avatar:profile.picture ed è correttamente analizzata, poiché appare nel seguente log:

OAuth2 Debugging: after_authenticate response:

creds: {"token"=>"...", "expires_at"=>1702053692, "expires"=>true}
uid: 1234
info: {"email"=>"...", "name"=>"...", "avatar"=>"https://members.geobon.org/pages/profile-picture/62146-17077.jpg"}
extra: {}

Ho verificato che l’indirizzo dell’immagine sia corretto e le sue dimensioni siano 300x300. Ecco un esempio.

Ho controllato i log del server su cui si trovano le immagini e non c’è stato alcun tentativo di scaricare questa immagine durante la creazione dell’account e il login iniziale.

Qualche idea sul perché non funzioni per noi? (chiaramente funziona con altre configurazioni…)

1 Mi Piace

hmmm, non sono sicuro che sia possibile ottenere l’avatar

Ciao Lillian, grazie per l’aiuto.

Il post citato sembra essere nel caso in cui l’endpoint non fosse un link diretto al file. È un po’ diverso qui, dove forniamo direttamente il link al file.

Inoltre, questo sembra funzionare in alcuni casi:

Inoltre, il tooltip della proprietà oauth2 callback user info paths dice

Percorsi nella risposta del token ad altre proprietà dell’utente. Le proprietà supportate sono name, username, email, email_verified e avatar. Il formato è proprietà:percorso, ad esempio: name:params.info.name

Se non tramite URL, come facciamo? Dovrei codificarlo in base64 nel file?

Modifica: provo il processo in 2 fasi, in cui il risultato dell’avatar dell’immagine è in un’altra query, invece della risposta del token, e riposterò.

Ok, sono riuscito a farlo funzionare con il processo in 2 fasi. Sembra che o il tooltip sia sbagliato o ci sia un bug in quella parte del plugin:

oauth2 callback user info paths: … Le proprietà supportate sono name, username, email, email_verified e avatar.

Quest’ultima affermazione non è vera. Affinché gli avatar funzionino, è necessario aggiungere un endpoint json per i dettagli dell’utente, selezionare “Fetch user JSON for OAuth2” e compilare la proprietà oauth2 json avatar path.

1 Mi Piace