File: //home/arjun/projects/aigenerator/venv/lib/python3.12/site-packages/social_core/backends/discogs.py
"""
Discogs OAuth1 backend, docs at:
https://www.discogs.com/developers/
"""
from social_core.backends.oauth import BaseOAuth1
class DiscogsOAuth1(BaseOAuth1):
"""
Implements the OAuth1 authentication mechanism for https://www.discogs.com
"""
name = "discogs"
OAUTH_TOKEN_PARAMETER_NAME = "oauth_token"
AUTHORIZATION_URL = "https://www.discogs.com/oauth/authorize"
REQUEST_TOKEN_URL = "https://api.discogs.com/oauth/request_token"
ACCESS_TOKEN_URL = "https://api.discogs.com/oauth/access_token"
def get_user_details(self, user_data):
return {
"username": user_data["username"],
"id": user_data["id"],
"profile": user_data["profile"],
"name": user_data["name"],
}
def user_data(self, access_token, *args, **kwargs):
identity = self.get_json(
"https://api.discogs.com/oauth/identity", auth=self.oauth_auth(access_token)
)
return self.get_json(
identity["resource_url"], auth=self.oauth_auth(access_token)
)