Markuiz OAuth позволяет добавить «Войти через Markuiz» без передачи пароля стороннему сайту.
Markuiz OAuth
OAuth 2.0-подобный authorization-code flow для приложений, использующих аккаунты Маркуйза.
1. Создайте приложение
Откройте Developer Dashboard, укажите сайт, Redirect URI и необходимые scopes. После модерации вы получите Client ID и Client Secret.
Developer DashboardOAuth 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
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 живёт короткое время и после обмена больше не может использоваться.