协褌芯 锌褉懈屑械褉 褉械邪谢懈蟹邪褑懈懈 褋芯斜褋褌胁械薪薪芯谐芯 屑芯写褍谢褟 懈 http api 泻 薪械屑褍
- accessToken 薪械 JWT
- 袨褌写邪褔邪 邪褋褋械褌芯胁(褌械泻褋褌褍褉 褋泻懈薪邪 懈 锌谢邪褖邪) 薪械 褉械邪谢懈蟹芯胁邪薪邪
- 袧械 褉械邪谢懈蟹芯胁邪薪 胁褘褏芯写 懈蟹 邪泻泻邪褍薪褌邪
- 袧械 褉械邪谢懈蟹芯胁邪薪 HWID
- 袧械 褉械邪谢懈蟹芯胁邪薪 textureLoader
- 协褌芯褌 锌褉芯械泻褌 褟胁谢褟械褌褋褟 锌褉懈屑械褉芯屑, 胁 薪褢屑 芯褌褋褍褌褋褌胁褍褞褌 屑械褏邪薪懈蟹屑褘 褉械谐懈褋褌褉邪褑懈懈, 褋屑械薪褘 锌邪褉芯谢褟 懈 褌.写. 袠褋锌芯谢褜蟹褍泄褌械 械谐芯 写谢褟 薪邪锌懈褋邪薪懈褟 褋芯斜褋褌胁械薪薪芯谐芯 泻芯写邪
- 袧械 褉械邪谢懈蟹芯胁邪薪 2FA
- 袙 褎邪泄谢械
config/Config.php薪邪褋褌褉芯泄褌械 锌芯写泻谢褞褔械薪懈械 泻 袘袛 懈 芯斜褟蟹邪褌械谢褜薪芯 褋屑械薪懈褌械 bearerToken 薪邪 褋胁芯泄 - 小泻芯屑锌谢懈褉褍泄褌械 懈 褍褋褌邪薪芯胁懈褌械 薪邪 谢邪褍薪褔褋械褉胁械褉 屑芯写褍谢褜
MyHttp_module - 袧邪褋褌褉芯泄褌械 褋锌芯褋芯斜 邪胁褌芯褉懈蟹邪褑懈懈
"http": {
"isDefault": false,
"core": {
"userByUsername": "https://example.com/getbyusername.php?username=%username%",
"userByUuid": "https://example.com/http_method/getbyuuid.php?uuid=%uuid%",
"userByToken": "https://example.com/http_method/getbytoken.php",
"refreshAccessToken": "https://example.com/http_method/refreshtoken.php",
"authorize": "https://example.com/http_method/authorize.php",
"checkServer": "https://example.com/http_method/checkserver.php",
"joinServer": "https://example.com/http_method/joinserver.php",
"bearerToken": "YOUR_BEARER_TOKEN",
"type": "myhttp"
},
"displayName": "Http Method",
"visible": true
}- 袧邪褋褌褉芯泄褌械 nginx 薪邪 芯褌写邪褔褍 褎邪泄谢芯胁 懈 懈褋锌芯谢薪械薪懈械 php 褋泻褉懈锌褌芯胁 懈蟹 锌芯写锌邪锌泻懈
public
小褌褉褍泻褌褍褉邪 User
{
"username": "Gravita",
"uuid": "bdbfaf45-a921-4721-a370-e9eb7576f60e",
"permissions": ["launcher.*", "launchserver.*"],
"roles": ["ADMIN"],
"assets": {
"SKIN": {
"url": "http://example.com/skin.png",
"digest": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b",
"metadata": {
"model": "slim"
}
}
}
}小褌褉褍泻褌褍褉邪 UserSession
{
"id": "1",
"accessToken": "ACCESS_TOKEN",
"refreshToken": "REFRESH TOKEN",
"expire": "EXPIRE IN SECONDS",
"user": {User}
}袨褕懈斜泻邪
{
"error" "Error message",
"code": 1000
}袩械褉胁懈褔薪邪褟 邪胁褌芯褉懈蟹邪褑懈褟 锌芯 谢芯谐懈薪褍, 锌邪褉芯谢褞 懈 泻芯写褍 2FA:
袟邪锌褉芯褋 POST authorize.php
{
"login": "Gravita",
"password": "PASSWORD",
"totpCode":"000000"
}袨褌胁械褌: UserSession
- 袩褉懈屑械褔邪薪懈械: totpCode 芯褌锌褉邪胁谢褟械褌褋褟 褌芯谢褜泻芯 械褋谢懈 蟹邪锌褉芯褕械薪 2FA
- 袛谢褟 褌芯谐芯 褔褌芯 斜褘 蟹邪锌褉芯褋懈褌褜 褍 锌芯谢褜蟹芯胁邪褌械谢褟 泻芯写 2FA 薪褍卸薪芯 胁 芯褌胁械褌械 锌械褉械写邪褌褜 芯褕懈斜泻褍
auth.require2fa
袙芯褋褋褌邪薪芯胁谢械薪懈械 褋械褋褋懈懈 懈 胁褏芯写 锌芯 褋芯褏褉邪薪械薪薪芯屑褍 锌邪褉芯谢褞:
袟邪锌褉芯褋 POST getbytoken.php
{
"accessToken": "ACCESS TOKEN"
}袨褌胁械褌: UserSession
袨斜薪芯胁谢械薪懈械 懈褋褌械泻褕械谐芯 褌芯泻械薪邪:
袟邪锌褉芯褋 POST refreshToken.php
{
"refreshToken": "REFRESH TOKEN"
}袨褌胁械褌: UserSession
袩芯谢褍褔械薪懈械 锌芯谢褜蟹芯胁邪褌械谢褟 锌芯 username 懈 uuid:
袟邪锌褉芯褋 GET getbyusername.php/getbyuuid.php
袨褌胁械褌: User
袙褏芯写 薪邪 褋械褉胁械褉 (泻谢懈械薪褌) 袟邪锌褉芯褋 POST joinserver.php
{
"username": "Gravita",
"uuid": "bdbfaf45-a921-4721-a370-e9eb7576f60e",
"accessToken": "ACCESS TOKEN",
"serverId": "SERVER ID"
}袨褌胁械褌: 谢褞斜芯泄 褋 泻芯写芯屑 200
袩褉芯胁械褉泻邪 胁褏芯写邪 (褋械褉胁械褉) 袟邪锌褉芯褋 POST checkserver.php
{
"username" "Gravita",
"serverId": "SERVER ID"
}袨褌胁械褌: User
- 袩褉芯胁械褉褟泄褌械 锌褉懈褋谢邪薪薪褘泄 bearerToken - 写芯褋褌褍锌 泻 API 写芯谢卸械薪 懈屑械褌褜 褌芯谢褜泻芯 谢邪褍薪褔褋械褉胁械褉
- 袩褉懈 joinServer 胁褘 写芯谢卸薪褘 褋芯褏褉邪薪懈褌褜 锌褉懈褋谢邪薪薪褘泄 SERVER ID 胁 斜邪蟹褍 写邪薪薪褘褏, 邪 锌褉懈 checkServer - 褍斜械写懈褌褋褟, 褔褌芯 懈屑褟 锌芯谢褜蟹芯胁邪褌械谢褟 褋芯芯褌胁械褌褋褌胁褍械褌 褌芯泄 褋械褋褋懈懈, 胁 泻芯褌芯褉芯泄 斜褘谢 褍褋褌邪薪芯胁谢械薪 褍泻邪蟹邪薪薪褘泄 serverId
- 袩褉懈 芯斜薪芯胁谢械薪懈懈 褌芯泻械薪邪 芯斜褟蟹邪褌械谢褜薪芯 胁械褉薪褍褌褜 褌芯谢褜泻芯 accessToken, refreshToken 懈 expire. 袙芯蟹胁褉邪褖邪褌褜 泻邪卸写褘泄 褉邪蟹 薪芯胁褘泄 refresh 褌芯泻械薪 薪械芯斜褟蟹邪褌械谢褜薪芯, 薪芯 褉械泻芯屑械薪写褍械褌褋褟
- 袩褉懈 褋屑械薪械 锌邪褉芯谢褟/2FA 褍写邪谢褟泄褌械 褋械褋褋懈懈
- 袙 褝褌芯泄 褉械邪谢懈蟹邪褑懈懈 minecraftAccessToken 胁褋械谐写邪 褋芯胁锌邪写邪械褌 褋 oauth access token