Tek seferlik

Tek Oturum Açma (SSO), kullanıcıların yalnızca bir kullanıcı kimlik bilgisini kullanarak birden fazla uygulama ve web sitesine güvenli bir şekilde kimlik doğrulamasını sağlayan bir kimlik doğrulama yöntemidir.

Nasıl Çalışır?

Kullanıcılarınıza kendi SSID'lerini ve bu SSID'lerden kimlik belirteçleri oluşturmalarını sağlarsınız. Hizmetinize giriş yapmak için, sadece kimlik belirteçlerinin kimlik numaralarını girmeleri gerekecektir.

Arka planda, kimlik belirteçlerinin (NFT'ler) gerçekten kullanıcılara ait olup olmadığını kontrol eder ve eğer öyleyse, kimlik belirteçlerinden SSID'yi alırsınız.

Bir kimlik belirteçten SSID almak için, kimlik belirteci kimliği ile SSI sözleşmesinin metadata fonksiyonunu sorgulamanız gerekir:

// Örnek kod
ISSI(ssiContract).metadata(kimlik_belirteci_id)

Bu, aşağıdaki formatta bir meta veri nesnesi döndürecektir:

struct SSIData {
    uint gönderenProfilKimliği;
    uint alıcıProfilKimliği;
    uint denetleyiciProfilKimliği;
    uint son_tarih;
    string soru;
    string cevap;
    ProofType ispatTürü;
}

Gerçek SSID'yi almak için, sorunun gerçekten SSID olup olmadığını doğruladıktan sonra cevap değişkenini alırsınız:

// Tam kod
function getSSID(uint _kimlik_belirteci_id) dışardan returns(string hafıza) {
    SSIData hafıza veri = ISSI(ssiSözleşmesi).metadata(kimlik_belirteci_id);
    require(keccak256(abi.encodePacked(veri.soru)) == keccak256(abi.encodePacked("ssid")));
    return veri.cevap;
}

Kullanıcıların SSID verilerini, kimlik belirteçlerinden topladıktan sonra kimlik bilgileri olarak kullanır ve hızlı bir kontrol gerçekleştirdikten sonra onları oturum açar.

Last updated