Net iD Service
 

Hur man loggar ut...

Page updated: 2014-08-26

Denna artikel har varit borttagen under ett år eftersom vissa tolkade innehållet som att en "inloggning mot kortet via Net iD Plugin" var att jämställa med en "inloggning mot en applikation". (Se även denna länk) Artikeln återpubliceras nu i reviderad form då den trots allt har ett värde genom att förklara olika samband. Läs även gärna Ineras tre anvisningar som delvis berör samma problematik.

Denna sida ligger utanför sitens inloggningskrav. Det innebär att exemplen nedan i vissa fall inte går att testa fullt ut.

Har du certifikat för inloggning på denna site kan du istället testa via denna länk. Då kan du testa allt!

 

Bakgrund

Webbläsare cachar som bekant sessionsIDn vilket innebär att man kan hamna i ett läge där återanslutning kan ske helt baserat på cachad information. Kortet behöver inte ens sitta i kortläsaren, inget certifikat väljas och ingen PIN-kod anges.
Se mer om detta via denna länk.

Men det finns många ställen att rensa på för att verkligen se till att en användare är utloggad så man kan inte helt förlita på endast en metod.

1) Applikations-logout
Detta måste ske i webbapplikations eget applikationsskikt förstås. Här är inte Net iD inblandad alls om inte Net iD Watch nyttjas och konfigureras att skicka ett särskilt anrop till serverside baserat på "kort ur".

2) Serverside SSL-logout
Det finns lösningar för att döda specifika sessionsIDn på serverside. Då kopplas denna funktion till e-tjänstens "Logga ut"-knapp. För iPlanet/SunOne finns en sådan funktion som standard. Kör man Apache så får man skriva en sådan modul själv. Det har t.ex. Skatteverket gjort. Hur man gör om man har IIS är ännu inte utforskat.

3) Clientside SSL-logout
Här måste vi använda en metod som webbläsaren själv svarar på, Net iD är inte inblandad alls. Se exempel nedan.

4) "Kort-logout"
Här handlar det om att "släppa kortet", dvs. göra så att PIN-koden måste anges igen. Detta görs via Net iD:s plugin. Se exempel nedan.

OBS! Att endast logga ut från kortet får under inga omständigheter ersätta en korrekt utloggning från en applikation

 

Clientside SSL-logout

Det finns ett anrop som rensar webbläsarens authentication cache; document.execCommand("ClearAuthenticationCache");

Kommandot fungerar i IE 6.0 SP1 och senare men tyvärr inte i Firefox. Det finns en fem år lång tråd på Bugzilla om detta:

https://bugzilla.mozilla.org/show_bug.cgi?id=287957

 

Exempel 1

Inloggningsstatus mot kortet (F5 om du vill vara säker på att visa uppdaterad status):

1) Tyck på F5 medan du läser detta. Webbläsaren läser in sidan igen.

Du ska INTE behöva välja certifikat och INTE heller behöva slå PIN-koden igen.

2) Klicka nu på knappen nedan

3) Tyck nu åter igen på F5. Du ska få upp certifikatvalsdialogen igen, men PIN behöver du inte slå. Dvs. SSL-förhandlingen görs om men PIN slipper du slå oavsett om du har Net iD med SSO eller inte, du är kvar i samma process och även Net iD utan SSO-modulen cachar PIN för befintlig session. Notera att certifikatsvalsdialogen endast visas om du bara har ett certifikat som siten accepterar och samtidigt har ställt in IE såhär, vilket är default i IE:

Kodsnutt för detta:

 

"Kort-logout"

Det finns en metod i Net iD:s plugin som hjälper dig med detta. I sin enklaste form såhär;

iid_Invoke('Login');

Lite snyggare är förstås att skriva kod som explicit loggar ut den slot som det faktiskt handlar om;

iid_SetProperty('ActiveSlot','1')

 

Exempel 2

Inloggningsstatus mot kortet (F5 om du vill vara säker på att visa uppdaterad status):

1) Tyck på F5 medan du läser detta. Webbläsaren läser in sidan igen. Du behöver inte välja certifikat och inte slå PIN-koden igen, precis som i exemplet ovan.

2) Klicka nu på knappen nedan

3) Tyck nu åter igen på F5. Du ska få upp certifikatvalsdialogen igen och PIN måste anges. Dvs. SSL-förhandlingen görs om och "kopplingen till kortet" har "släppts", därför måste du slå PIN igen oavsett om du har Net iD med SSO eller inte. Rörande certifikatsvalsdialogen vara eller inte vara gäller samma som ovan beskrivet.

Kodsnutt för detta:

 

Exempel 3

Inloggningsstatus mot kortet (F5 om du vill vara säker på att visa uppdaterad status):

En variant på detta skulle kunna se ut såhär:

1) Tyck på F5 medan du läser detta. Webbläsaren läser in sidan igen.

Du behöver inte välja certifikat och inte slå PIN-koden igen, precis som i exemplet ovan.

2) Klicka nu på knappen nedan

3) Om du nu hade tryckt på F5 så hade du fått upp certifikatvalsdialogen igen och PIN hade behövt anges. Men gör inte det!

4) Tryck istället på denna knapp

Du ska alltså få upp Net iD:s PIN-dialog, den lilla varianten utan kortbild:

Anledningen till att du får den "lilla PIN-dialogen" är att inget certifikat är inblandat. Dvs, du "loggar inte in", du bara "öppnar kortet", eller som vi i kortsvängen säger: "loggar på kortet"

5) Om nu nu trycker på F5 ska du få upp certifikatvalsdialogen igen men PIN behöver inte anges

Kodsnuttar för dessa två knappar: