/// <summary>
 /// After successful validation, provides an object to hold the user information
 /// </summary>
 /// <returns>OpenIdUser object containing identifier and Extension data</returns>
 public OpenIdUser RetrieveUser()
 {
     OpenIdUser ret = new OpenIdUser(LastDiscoveryResult);
     ret.Retrieve(this);
     return ret;
 }
 /// <summary>
 /// Validate the authentication response, if present.
 /// </summary>
 /// <returns>A populated OpenIdUser object, if the response is valid.  Null if the response
 /// is invalid.</returns>
 public OpenIdUser RetrieveUser()
 {
     if (!ValidateResponse()) { return null; }
     user = openid.RetrieveUser();
     return user;
 }