Pojedyncze logowanie
SSO
Pojedyncze logowanie (SSO) to metoda uwierzytelniania, która umożliwia użytkownikom bezpieczne uwierzytelnianie w wielu aplikacjach i witrynach internetowych przy użyciu tylko jednego zestawu poświadczeń.
Jak to działa ?
Twoi użytkownicy tworzą swoje identyfikatory SSID, a także tokeny tożsamości na podstawie tych identyfikatorów SSID. Aby zalogować się do Twojej usługi, wystarczy wprowadzić identyfikatory tokenów tożsamości.
W tle sprawdzasz, czy tokeny tożsamości (które są NFT) naprawdę należą do użytkowników, a jeśli tak, pobierasz identyfikator SSID z tokena tożsamości.
Aby uzyskać identyfikator SSID z tokena tożsamości, należy wysłać zapytanie do funkcji metadanych kontraktu SSI, do której przekazuje się identyfikator tokena tożsamości
// Przykładowy kod
ISSI(ssiContract).metadata(identity_token_id)
Spowoduje to zwrócenie obiektu metadanych w następującym formacie
struktura SSIData {
uint nadawcaProfileId;
uint odbiornikProfileId;
uint audytorProfileId;
ostateczny termin;
pytanie ciągowe;
odpowiedź w postaci ciągu znaków;
Typ dowoduTyp dowodu;
}
Aby uzyskać rzeczywisty identyfikator SSID, zmienną odpowiedzi otrzymasz po sprawdzeniu, czy pytanie rzeczywiście dotyczy identyfikatora SSID
// Kompletny kod
funkcja getSSID(uint _identity_token_id) zwraca zewnętrzne (pamięć string) {
Dane pamięci SSIData = ISSI(ssiContract).metadata(identity_token_id)
require(keccak256(abi.encodePacked(data.question)) == keccak256(abi.encodePacked("ssid")))
zwróć dane.odpowiedź
}
Jako identyfikatorów użyjesz danych SSID użytkowników zebranych z ich tokenów tożsamości i zalogujesz się po przeprowadzeniu tego szybkiego sprawdzenia
Last updated
Was this helpful?