Dodaj Genesis Identity na svoju web ili mobilnu aplikaciju u 5 minuta. Ed25519 kriptografski login bez lozinki, bez centralnog servera.
Uključi SDK script tag na svoju stranicu:
<!-- Genesis Auth SDK v2.0 — CC0 licence --> <script src="https://genesislogin.online/genesis-auth.js"></script>
Pokreni popup login:
// Popup login (preporučeno — radi na desktop i mobile) const session = await GenesisAuth.login({ origin: 'https://genesislogin.online', // popup host callback: (result) => { console.log('Prijavljen!', result.weise3_id); // result = { session_token, weise3_id, display_name } } });
Ili inline passphrase login (bez popupa):
// Inline — passphrase ostaje u browseru, nikad ne odlazi na server const session = await GenesisAuth.loginDirect( passphrase, // npr. "moja tajna fraza" 'Ivan Kovač' // display name (optional) ); // session = { session_token, weise3_id, display_name, tier }
Provjeri session_token na svom serveru — pozovi Genesis API:
import requests def verify_genesis_token(session_token: str) -> dict: r = requests.get( "https://genesis.limit-connect.com/api/v1/genesis/auth/me", headers={"Authorization": f"Bearer {session_token}"} ) r.raise_for_status() data = r.json() # data = { weise3_id, display_name, tier, auth_method, ... } return data # tier "noble" = Ed25519, "native" = biometrija
async function verifyGenesisToken(sessionToken) { const r = await fetch( 'https://genesis.limit-connect.com/api/v1/genesis/auth/me', { headers: { 'Authorization': `Bearer ${sessionToken}` } } ); if (!r.ok) throw new Error('Invalid token'); return r.json(); // { weise3_id, tier, auth_method, ... } }
Nakon passphrase loginac, registriraj uređaj za 1-dodir prijavu (Face ID / Fingerprint):
// Registracija biometrijskog uređaja (jednom po uređaju) const rez = await GenesisAuth.biometric.registerDevice(session.session_token); // rez.recovery_cigla — 12 Genesis riječi — PRIKAŽI JEDANPUT korisniku! // Svaki sljedeći posjet — biom login (bez passphrasse) const session = await GenesisAuth.biometric.login(genesis_id);
Na mobilnim uređajima popup ne radi pouzdano — SDK automatski prebacuje na redirect:
// Isti poziv — SDK automatski detektira mobile i prebacuje na redirect GenesisAuth.login({ origin: 'https://genesislogin.online', returnUrl: 'https://tvoja-app.com/callback' }); // Na callback stranici — prihvati sesiju iz URL parametara GenesisAuth.handleMobileReturn((session) => { console.log('Mobile login!', session.weise3_id); });
Svi endpointi na genesis.limit-connect.com/api/v1
{
"session_token": "glr_...", // Bearer token (TTL: noble=2h, native=30d)
"weise3_id": "W3:sha3:...", // vječni, deterministički identifikator
"display_name": "Ivan K.",
"tier": "noble", // noble | native | untrusted
"auth_method": "noble", // noble (Ed25519) | native (WebAuthn) | device (fallback)
"public_key_hex": "a1b2c3...", // 64-znak hex Ed25519 pubkey
"tier_ttl": 7200 // sekundi do expiry
}
Isprobaj Genesis popup login odmah:
Instaliran je genesis_connect Django app koji automatski integrira login:
# settings.py INSTALLED_APPS = ['genesis_connect', ...] # urls.py path('genesis/', include('genesis_connect.urls')) # Template (bilo gdje) {% load genesis_tags %} {% genesis_login_button mode="popup" %} {# popup mode #} {% genesis_login_button mode="inline" %} {# inline passphrase form #} # View — provjera sesije from genesis_connect.decorators import genesis_required @genesis_required def moja_view(request): weise3_id = request.genesis_session['weise3_id'] tier = request.genesis_session['tier']