RIHA (riigi infosüsteemi haldussüsteem)
Vt ka Kesksüsteem ja Sessioonihaldus.
Autentimine lahendatakse serverikomponendis Autentija. Autentija autendib kasutaja kas ise või kasutab eesti.ee autentimisteenust.
eesti.ee autentimisteenus autendib avalikesse e-teenustesse sisenejaid nii Eestis tunnustatud elektroonilise identiteedi (eID) vahendite (ID-kaart, mobiil-ID) ka teistes Euroopa Liidu liikmesriikides tunnustatud eID vahendite alusel. eesti.ee autentimisteenusega suheldakse protokolliga OpenID Connect 1.0.
Vt: eesti.ee autentimisteenuse liides struktuur (dokument aprill 2017).
Ülevaade eesti.ee autentimisteenuse liidesest:
Redirect tegemine autentimisteenusesse:
Location: autentimisteenuse login lehe aadress
Parameetrid:
response_type=code
&scope=openid profile
&client_id=<autentimist küsiva infosüsteemi ID>
&state=<autentimist küsiva infosüsteemi kasutajasessiooni ID>
&redirect_uri=<aadress, kuhu kasutaja pärast autentimist tagasi suunata>
Redirect vastus autentimist küsinud infosüsteemi:
Location: <väärtus redirect_uri’st>
Parameetrid:
code=<autentimise identifikaator>
&state=<seostav ID, eelmisest päringust>
ID tokeni hankimine (autentimist küsiva IS ja autentimisteenuse vahel):
POST autentimisteenuse token endpoint’i
Parameetrid:
grant_type=authorization_code
&code=<autentimise identifikaator eelmisest sammust>
&redirect_uri=<sama aadress nagu 1. päringus>
ID tokeni vastus (JSON)
id_token: JWT (Json Web Token)
access_token: <OAuth2 access token>
token_type: "Bearer" <OAuth2 token type>
expires_in: <kehtivus, sekundites>
id_token JWT-s sisalduv info (payload osa):
iss: <token'i väljaandja, autentimisteenus>
sub: <autenditud kasutaja ID, kas isikukood või eIDAS ID>
aud: <autentimist küsinud süsteemi client_id>
exp: <token'i aegumisaeg>
iat: <token'i väljaandmisaeg>
auth_time: <kasutaja autentimise aeg>
acr: <autentimistase, vastavalt eIDAS tasemetele>
amr: <autentimisvahend>
Kasutajainfo (UserInfo) päring
GET päring autentimisteenuse UserInfo endpoint’i
Parameetrid:
Authorization: "Bearer <acces_token väärtus>"
Kasutajainfo (UserInfo) päringu vastus (JSON)
tagastab OpenID Connect spetsifikatsioonile vastavalt eIDAS kohustuslikud väljad:
sub: <kasutaja ID>
name: <nimi>
given_name: <eesnimi>
family_name: <perekonnanimi>
birthdate: <sünniaeg>
Riigi Infosüsteemi Amet · 2017-2018 · https://github.com/e-gov/RIHA-Index