Настройка AuthProvider

Способ reject

Отклоняет любые пары логин-пароль

 "authProvider": [
     {
         "type": "reject",
         "message": "Ведутся технические работы, приходите позже."
     }
 ]
 

Способ accept

Принимает любые пары логин-пароль

 "authProvider": [
     {
         "type": "accept"
     }
 ]

Способ request

Для проверки логина и пароля лаунчсервер обращается к сайту по протоколу HTTP/HTTPS

"authProvider": [
     {
       "url": "http://gravitlauncher.ml/auth.php?username=%login%&password=%password%",
       "response": "OK:(?<username>.+)", // Маска ответа
       "type": "request"
     }
]

Настройка permissions этим способом

"authProvider": [
     {
       "url": "http://gravitlauncher.ml/auth.php?username=%login%&password=%password%",
       "usePermission": true,
       "response": "OK:(?<username>.+):(?<permissions>.+)", // Маска ответа
       "type": "request"
     }
]

Способ mysql

Для проверки логина-пароля лаунчсервер обращается к базе данных mysql
Этот способ НЕ подходит для сайтов с нестандартнми алгоритмами хеширования

 "authProvider": [
 {
     "type": "mysql",
     "mySQLHolder": {
         "address": "localhost",
         "port": 3306,
         "username": "launchserver",
         "password": "password",
         "database": "db",
         "timezone": "UTC"
     },
     "query": "SELECT name FROM dle_users WHERE (email=? OR name=?) AND password=MD5(MD5(?)) LIMIT 1",
     "queryParams": [ "%login%", "%login%", "%password%" ],
     "message": "Пароль неверный!"
 }
]

Настройка permnissions этим спосбом

 "authProvider": [
 {
     "type": "mysql",
     "mySQLHolder": {
         "address": "localhost",
         "port": 3306,
         "username": "launchserver",
         "password": "password",
         "database": "db",
         "timezone": "UTC"
     },
     "query": "SELECT name,permission FROM dle_users WHERE (email=? OR name=?) AND password=MD5(MD5(?)) LIMIT 1",
     "queryParams": [ "%login%", "%login%", "%password%" ],
     "usePermission": true,
     "message": "Пароль неверный!"
 }
]

Способ json

Для проверки логина-пароля лаунчсервер обращается к сайту по протоколу HTTP/HTTPS, но в отличии от request делает POST запрос с json данными внутри

"authProvider": [
 {
     "type": "json",
     "url": "http://gravitlauncher.ml/auth.php",
     "apiKey": "none" //Любая строка, передается в каждом запросе
 }
]

При этом способе настройка permissions не выполняется, так как по умолчанию сервер обязан передавать permissions
Запрос:

{
    "username": "Admin",
    "password": "password",
    "ip": "127.0.0.1",
    "apiKey": "none"
}

Ответ:

{
    "username": "Admin",
    "permissions": 0 //Маска привилегий
}

Ошибка:

{
    "error": "Неверный логин или пароль"
}

Способ mojang

Начиная с 5.0 этот способ вынесен в модуль LegacySupport

Выполняет запрос к веб серверам mojang для проверки логина-пароля

"authProvider": [
 {
     "type": "mojang"
 }
]