Skip to content

Instantly share code, notes, and snippets.

@emre
Last active September 17, 2018 08:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emre/dc339dc3cf8f1bb18d6c09303660d245 to your computer and use it in GitHub Desktop.
Save emre/dc339dc3cf8f1bb18d6c09303660d245 to your computer and use it in GitHub Desktop.
A custom Django authentication backend for Steemconnect
from steemconnect.client import Client
from django.contrib.auth import get_user_model
class SteemConnectBackend:
def authenticate(self, **kwargs):
# validate the access token with /me endpoint and get user information
client = Client(access_token=kwargs.get("access_token"))
user = client.me()
if 'name' not in user:
return None
user_model = get_user_model()
try:
user = user_model.objects.get(username=user["name"])
except user_model.DoesNotExist:
user = user_model.objects.create_user(
username=user["name"],
name=user["name"])
return user
def get_user(self, user_id):
user_model = get_user_model()
try:
return user_model.objects.get(pk=user_id)
except user_model.DoesNotExist:
return None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment