MARKUIZ OAuth
Документация разработчика
Markuiz OAuth позволяет добавить «Войти через Markuiz» без передачи пароля стороннему сайту.

Markuiz OAuth

OAuth 2.0-подобный authorization-code flow для приложений, использующих аккаунты Маркуйза.

1. Создайте приложение

Откройте Developer Dashboard, укажите сайт, Redirect URI и необходимые scopes. После модерации вы получите Client ID и Client Secret.

Developer Dashboard

OAuth flow

Сайт отправляет пользователя на Markuiz. Пользователь подтверждает доступ. Markuiz возвращает одноразовый authorization code, а сервер приложения меняет его на access token.

1) GET /sdk/oauth/login?appid=CLIENT_ID&state=STATE 2) POST /sdk/oauth/authorize 3) GET YOUR_REDIRECT_URI?code=...&state=... 4) POST /sdk/oauth/token 5) GET /api/oauth/user

Кнопка входа

<a href="https://markuiz.org/sdk/oauth/login?appid=CLIENT_ID&state=STATE"> Войти через Markuiz </a>

Callback

Проверяйте state и только после этого принимайте authorization code.

GET https://example.com/oauth/callback?code=AUTH_CODE&state=YOUR_STATE

Token endpoint

POST https://markuiz.org/sdk/oauth/token grant_type=authorization_code client_id=CLIENT_ID client_secret=CLIENT_SECRET code=AUTH_CODE redirect_uri=https://example.com/oauth/callback

User API

GET https://markuiz.org/api/oauth/user Authorization: Bearer ACCESS_TOKEN
{ "id": 123, "username": "example", "name": "Example", "avatar": "/uploads/..." }

Scopes

accountОсновная информация об аккаунте
postsДоступ к постам
commentsДоступ к комментариям
notificationsДоступ к уведомлениям
filesДоступ к файлам
searchПоиск по платформе
subscriptionsДоступ к информации о подписках

Безопасность

Client Secret

Никогда не размещайте Client Secret в JavaScript или HTML.

HTTPS

В production используйте HTTPS для Redirect URI.

Одноразовый code

Authorization code живёт короткое время и после обмена больше не может использоваться.