AzAuth
AzAuth je API umožňující přihlašování uživatelů na Azuriom webu na všech platformách.
Stažení
Zdroje AzAuth jsou dostupné na GitHubu a jar soubor může být stažen odsud.
Pokud používáte správce závislostí, můžete přidat AzAuth jako závislost následujícím způsobem:
Gradle
v build.gradle
:
repositories {
mavenCentral()
}
dependencies {
implementation 'com.azuriom:azauth:1.0.0'
}
Maven
v pom.xml
:
<dependencies>
<dependency>
<groupId>com.azuriom</groupId>
<artifactId>azauth</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
Nezávisle na způsobu použití API na straně klienta, musíte na serveru ověřit, že je vrácený přístupový token vrácený klientem platný pomocí metodyverify
.
Použití AzAuth (Java)
Před použitím AzAuth se ujistěte, že je aktivováno tak, že půjdete do nastavení vašeho webu ve vašem správcovském panelu.
Použití s OpenLauncherLib (pro Minecraft Launcher)
Pro začátek přidejte AzAuth jako závislost do vašeho projektu. Pokud také používáte OpenAuth, je doporučeno jej odebrat, protože přesto že nezpůsobuuje žádné reálné problémy, již není používáno, pokud používáte AzAuth.
V kódu vašeho launcheru byste měli mít metodu auth
podobnou kódu níže:
public static void auth(String username, String password) throws AuthenticationException {
Authenticator authenticator = new Authenticator(Authenticator.MOJANG_AUTH_URL, AuthPoints.NORMAL_AUTH_POINTS);
AuthResponse response = authenticator.authenticate(AuthAgent.MINECRAFT, username, password, "");
authInfos = new AuthInfos(response.getSelectedProfile().getName(), response.getAccessToken(), response.getSelectedProfile().getId());
}
Stačí ji pouze nahradit kódem níže a upravit <url>
základní adresou URL vašeho Azuriom webu.
public static void auth(String username, String password) throws AuthenticationException, IOException {
AzAuthenticator authenticator = new AzAuthenticator("<url>");
authInfos = authenticator.authenticate(username, password, AuthInfos.class);
}
Jakmile je toto hotové, stačí naimportovat třídy AzAuthenticator
a
AuthenticationException
z balíčku com.azuriom.auth
a AzAuth bude integrován
do vašeho launcheru.
Použití bez OpenLauncherLib
AzAuth byl vytvořen s Gson jako jedinou závislostí, takže jej můžete normálně použít, pokud nepoužíváte
OpenLauncherLib, můžete jednoduše použít AzAuthenticator#authenticate(String username, String password)
, což vám
přímo dá User
obsahující uživatelské jméno, uuid, rank, přístupový token a spoustu dalších užitečných dat.
Použití s NodeJs
Instalace
Zdrojový kód je dostupný na GitHubu
a balíček může být nainstalován pomocí npm install azuriom-auth
.
Použití
const AzuriomAuth = require('azuriom-auth');
async function login(email, password) {
const authenticator = new Authenticator('<url of your website>');
try {
const user = await authenticator.auth(email, password);
console.log(`Logged in with ${user.email}`);
} catch (e) {
console.log(e);
}
}
Endpointy
Autentifikace
POST /authenticate
Ověřit uživatele s jeho webovými údaji
Žádost
Pole | Popis |
---|---|
Uživatelské jméno nebo e-mail | |
password | Heslo |
Odpověď
Vrátí uživatele s jeho různými informacemi a unikátním tokenem, který může být použit k ověření připojení nebo k odpojení.
{
"id": 1,
"username": "Username",
"uuid": "00000000-0000-0000-0000-000000000000",
"email_verified": true,
"money": 100.0,
"role": {
"name": "Member",
"color": "#e10d11"
},
"banned": false,
"created_at": "2020-06-29T17:39:12+00:00",
"access_token": "xxxxxxxx"
}
Ověření
POST /verify
Žádost
Pole | Popis |
---|---|
access_token | Unikátní přístupový token |
Odpověď
Vrátí uživatele s jeho různými informacemi a unikátním tokenem, který může být použit k ověření připojení nebo k odpojení.
{
"id": 1,
"username": "Username",
"uuid": "00000000-0000-0000-0000-000000000000",
"email_verified": true,
"money": 100.0,
"role": {
"name": "Member",
"color": "#e10d11"
},
"banned": false,
"created_at": "2020-06-29T17:39:12+00:00",
"access_token": "xxxxxxxx"
}
Odhlášení
POST /logout
Odhlásí uživatele a zneplatní přístupový token
Žádost
Pole | Popis |
---|---|
access_token | Unikátní přístupový token |
Odpověď
Prázdná odpověď se stavovým kódem `2xx.