Is there a way to fetch the avatar of an Oauth user account? Or in general, is there avatar functionality within Appwrite? A lot of Oauth providers such as Google, Discord and Github all have avatars built into the Oauth system and it would be a nice to be able to access those.
Theory
As of now Appwrite OAuth is used in a very genral way. Which means that the use of the OAuth2 is to eliminate the need of remembering passwords. But, eventually the login is attached to an email.
You can take a look on all the available Appwrite OAuth2 providers here https://github.com/appwrite/appwrite/tree/master/src/Appwrite/Auth/OAuth2 And, you can see that are treated in a general way to fetch the email (and name) of the user.
That's why when a user is logged in using Github for example, the next day the login can be made through Google and same user will be fetched back as the connection is through the email.
I wasn't able to find any feature request regard that matter, and it sound great feature to have.
Some solution
For now, the best workaround will be to create an <:functions:1108648038156746792> Appwrite function that will be triggered on the user creation event users.*.create
then you can try to fetch the current user gravater. For example in js
using the JavaScript MD5 pacakge https://www.npmjs.com/package/blueimp-md5
function getUserGravater(email, size = 100){
retrun 'http://www.gravatar.com/avatar/' + md5(email) + '.jpg?s=' + size;
}
To find out about function events check this: https://appwrite.io/docs/events
After creating an oauth2 session, the session has a provider access token that can be used to make API calls to the provider and fetch an avatar (if they have one).
Recommended threads
- Custom emails
What happen if I use a third party email provider to customize my emails and my plan run out of emails/month? Appwrite emails are used as fallback sending emai...
- SyntaxError: Unexpected end of JSON inpu...
I am trying to create a fcm push notification service using appwrite functions with its REST API to invoke that function from my client side app and getting thi...
- Experiencing inconsistent "500 general_u...
I am developing a task management app that uses Appwrite auth. My project is hosted on Appwrite cloud and I've created basic server-side authentication followin...