Når du som jeg bruger OpenId til et projekt, så kan det være frustrerende at OpenId ikke har en “log ud” funktion. Man skal selv styre brugerens “state” og det kan skabe nogle lidt finurlige oplevelser når man gerne vil logge ind. Hvis du tilføjer en extenstion til dit OpenId request så kan du tvinge igennem at brugeren skal logge ind hver gang vedkommende besøger dit site. Et eksempel på dette herunder:
var openId = new OpenIdRelyingParty();
var response = openId.GetResponse();
if (response == null) {
try {
var req = openId.CreateRequest( openIdIdentifier );
req.AddExtension( new PolicyRequest { MaximumAuthenticationAge = TimeSpan.Zero } );
return MessagingUtilities.AsActionResult( req.RedirectingResponse );
} catch (ProtocolException exception) {
//TODO: logging needed here!!!
}
}