He utilizado discourse-oauth2-basic para permitir que nuestros miembros inicien sesión y que se autocompleten automáticamente sus valores de correo electrónico, nombre completo y nombre de usuario desde su cuenta organizativa de Office365. Sin embargo, estoy teniendo dificultades para que se cargue el avatar y me preguntaba si alguien ha tenido éxito al hacerlo.
Las directrices de Graph aquí sugieren que la URL del avatar debería estar disponible en photo/$value; la he incluido, pero no se devuelve y no veo ningún error en los registros.
…también he probado a añadir ‘photo’ en los campos oauth2 callback user info paths y oauth2 authorize options, pero sin éxito. Cualquier ayuda será muy apreciada
El plugin OAuth2 solo permite solicitar datos desde un único punto final (la oauth2 user json url). Todas las configuraciones de json *** path se refieren a ubicaciones dentro de los datos JSON, no a puntos finales de API separados.
Por lo tanto, lamentablemente creo que necesitarías desarrollar un plugin de autenticación personalizado para que esto funcione . ¡Me encantaría que me demostraran lo contrario!
Gracias por revisarlo, @david. Me animó a ver si podía ‘obtenerlo’ en el JSON del usuario. Parece que el parámetro de consulta expandir de OData no es compatible con la foto, aunque esta sí se recibe como una URL si le añades /$value:
…no puedes usar $expand en la relación user/photo.
No pude encontrar una forma de revertir eso; así que, en lugar de https://graph.microsoft.com/beta/me?$expand=photo, algo como https://graph.microsoft.com/beta/me/photo/$value?$expand=mail,displayName. ¡Argh, rabia, quejas!
Quizás podríamos usar la ubicación ‘mail’ en los datos JSON para construir la URL de la foto, que es consistentemente:
…o tal vez otra forma, ya que claramente estoy agarrándome a pajas, sería añadir el punto final de la foto al campo URL de json de oauth2 del usuario con algo como: