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í metody verify.

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
email 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.