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
- Different appwrite IDs are getting expos...
File_URL_FORMAT= https://cloud.appwrite.io/v1/storage/buckets/[BUCKET_ID]/files/[FILE_ID]/preview?project=[PROJECT_ID] I'm trying to access files in my web app...
- Invalid document structure: missing requ...
I just pick up my code that's working a week ago, and now I got this error: ``` code: 400, type: 'document_invalid_structure', response: { message: 'Inv...
- custom domain with CloudFlare
Hi all, it seems that CloudFlare has blocked cross-domain CNAME link which made my app hostname which is in CloudFlare, unable to create a CNAME pointing to clo...