Telegram OAuth with django
im trying to integrate telegram oauth into my application, currently it successfully log in in telegram, but django doesnt received any data in callback, I have tryied many methods, but without any results views.py
def telegram_callback(request):
data = request.GET.dict()
print('Telegram callback data:', data)
if not verify_telegram_auth(data):
return HttpResponseBadRequest("Invalid Telegram auth")
telegram_id = data["id"]
username = data.get("username", f"tg_{telegram_id}")
first_name = data.get("first_name", "")
last_name = data.get("last_name", "")
user, created = User.objects.get_or_create(
username=f"tg_{telegram_id}",
defaults={
"first_name": first_name,
"last_name": last_name,
},
)
print(user, telegram_id)
login(request, user)
return HttpResponseRedirect(reverse("home"))
urls.py
path("telegram/login/", views.telegram_callback, name="telegram"),
and my html
<div class="w-full flex justify-center mb-3">
<script async src="https://telegram.org/js/telegram-widget.js?22"
data-telegram-login="bot_username"
data-size="large"
data-radius="12"
data-onauth="onTelegramAuth(user)"
data-userpic="true"
data-lang="en"
data-auth-url="{% url 'users:telegram' %}"
data-request-access="write">
</script>
</div>