vk-oauth-proxy

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 17, 2024 License: MIT

README

vk-oauth-proxy

VK Generic OAuth Proxy

VK использует немного нестандартные практики OAuth:

  • token_type не возвращается при получении access_token
  • email возвращается только при получении access_token, получить его через users.get уже не получится
  • Ответы от api.vk.com оборачиваются в объект response, иногда это может быть неудобно

vk-oauth-proxy решает эти проблемы:

  • В ответ на запрос access_token вместе с ним придёт и поле token_type со значением Bearer
  • email, который приходит с access_token запоминается и ассоциируется с ID пользователя, поле email с этим значением будет добавлено в ответ users.get (хранится не на диске, просто кэш в рантайме с TTL – для большинства сценариев подойдёт)
  • Поля объекта response из ответов api.vk.com будут разворачиваться в корень ответа (только для метода users.get)

Протестировано с версией VK API 5.199

Зачем?

Я не мог нормально подключить ZITADEL к OAuth VK. Потенциально может пригодиться для других SSO-сервисов и OAuth-клиентов.

Конфигурация

Конфигурация происходит при помощи переменных окружения среды

ENV default Описание
VOP_USER_EMAIL_STORE_TTL 1m Время хранения email
VOP_OAUTH_UPSTREAM_HOST https://oauth.vk.com URL VK OAuth
VOP_API_UPSTREAM_HOST https://api.vk.com URL VK API
VOP_OAUTH_PROXY_ADDR :9090 Адрес для запуска прокси OAuth
VOP_API_PROXY_ADDR :9091 Адрес для запуска прокси API
Docker
docker run -p 9090:9090 -p 9091:9091 afansv/vk-oauth-proxy:latest
Полезные ссылки

Directories

Path Synopsis
cmd
vkoauthproxy command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL