Skip to content

Instantly share code, notes, and snippets.

@0xSG
Created December 28, 2023 13:07
Show Gist options
  • Save 0xSG/e7655ef8227e6cb4c7be0a8d807f2e96 to your computer and use it in GitHub Desktop.
Save 0xSG/e7655ef8227e6cb4c7be0a8d807f2e96 to your computer and use it in GitHub Desktop.
Firebase verify_token
# In your Django views.py
from firebase_admin import auth
def verify_token(request):
id_token = request.POST.get('idToken') # Adjust depending on how you send the token
try:
# Verify the ID token while checking if the token is revoked by passing check_revoked=True.
decoded_token = auth.verify_id_token(id_token, check_revoked=True)
uid = decoded_token['uid']
# Get or create a user in your Django auth model
user, created = get_user_model().objects.get_or_create(username=uid)
# Set user properties or create a user profile if necessary
# ...
# Log in the user in Django's auth system
login(request, user)
return JsonResponse({'status': 'success'})
except auth.AuthError as e:
# Handle error - e.g., token expired, invalid, or revoked
return JsonResponse({'status': 'error', 'message': str(e)})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment