HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Python
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 25.08.2025, 15:17
fakelag28
Познающий
Регистрация: 23.08.2022
Сообщений: 58
С нами: 1961408

Репутация: 23
По умолчанию

FlaskDiscordAuth |GitHub

Python библиотека для простой интеграции аутентификации Discord OAuth2 в приложения Flask.

Эта библиотека предоставляет удобный способ аутентификации пользователей через Discord, получения информации об аккаунте, управления серверами и защиты маршрутов с минимальной конфигурацией.

Ключевые особенности
  • Простая интеграция: Минимальная настройка для начала работы
  • Защита маршрутов: Декораторы для проверки аутентификации и прав на серверах Discord
  • Расширенная информация: Получение аватара, баннера и других данных аккаунта
  • Управление сессией: Автоматическое сохранение токенов и scope
  • Обновление токенов: Поддержка обновления access token через refresh token

Установка

Установите библиотеку через pip:

Bash:





Код:
pip
install
FlaskDiscordAuth


Базовое использование

Python:





Код:
from
flask
import
Flask
,
redirect
,
url_for
,
session
,
request
from
FlaskDiscordAuth
.
discord_auth
import
DiscordAuth

app
=
Flask
(
__name__
)
app
.
secret_key
=
'your_secret_key'
# Настройки Discord
CLIENT_ID
=
'your_client_id'
CLIENT_SECRET
=
'your_client_secret'
REDIRECT_URI
=
'http://127.0.0.1:5000/callback'
discord_auth
=
DiscordAuth
(
CLIENT_ID
,
CLIENT_SECRET
,
REDIRECT_URI
)
@app.route
(
'/'
)
def
home
(
)
:
if
'user'
in
session
:
return
f"Привет,{session['user']['username']}!"
return
'Добро пожаловать! Войти через Discord'
@app.route
(
'/login'
)
def
login
(
)
:
return
redirect
(
discord_auth
.
get_login_url
(
)
)
@app.route
(
'/callback'
)
def
callback
(
)
:
code
=
request
.
args
.
get
(
'code'
)
token_data
=
discord_auth
.
get_token
(
code
)
session
[
'access_token'
]
=
token_data
[
'access_token'
]
session
[
'user'
]
=
discord_auth
.
get_user_info
(
session
[
'access_token'
]
)
return
redirect
(
url_for
(
'home'
)
)
if
__name__
==
'__main__'
:
app
.
run
(
debug
=
True
)


Защита маршрутов

Python:





Код:
@app.route
(
'/profile'
)
@discord_auth.login_required
def
profile
(
)
:
return
f"Профиль пользователя{session['user']['username']}"
@app.route
(
'/moderator'
)
@discord_auth.guilds_required
(
'1234567890'
)
def
moderator_panel
(
)
:
return
"Панель модератора"


Расширенные возможности

Получение серверов пользователя:

Python:





Код:
guilds
=
discord_auth
.
get_user_guilds
(
access_token
)


Динамические scopes:

Python:





Код:
redirect
(
discord_auth
.
get_login_url
(
scope
=
'identify email guilds'
)
)


Получение баннера и аватара:

Python:





Код:
banner_url
=
f"https://cdn.discordapp.com/banners/{user_info['id']}/{user_info['banner']}.png"
avatar_url
=
f"https://cdn.discordapp.com/avatars/{user_info['id']}/{user_info['avatar']}.png"


Документация
  • Репозиторий
  • Официальная документация: Полное руководство по использованию библиотеки.
 
Ответить с цитированием

  #2  
Старый 25.08.2025, 15:29
romq
Познающий
Регистрация: 13.07.2023
Сообщений: 45
С нами: 1494884

Репутация: 8
По умолчанию

шик
 
Ответить с цитированием

  #3  
Старый 25.08.2025, 17:19
chromiusj
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами: 2505538

Репутация: 133


По умолчанию

фласк: 👎👎👎

фастапи:👍👍👍

лайтстар:❤️❤️❤️
 
Ответить с цитированием

  #4  
Старый 25.08.2025, 18:00
fakelag28
Познающий
Регистрация: 23.08.2022
Сообщений: 58
С нами: 1961408

Репутация: 23
По умолчанию

Цитата:
Сообщение от chromiusj  

фласк: 👎👎👎
фастапи:👍👍👍
лайтстар:❤️❤️❤️
😡
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.