bool IExtensionRequest.Deserialize(IDictionary <string, string> fields, DotNetOpenId.Provider.IRequest request, string typeUri) { if (fields == null) { return(false); } if (!fields.ContainsKey(Constants.RequestParameters.PreferredAuthPolicies)) { return(false); } string maxAuthAge; MaximumAuthenticationAge = fields.TryGetValue(Constants.RequestParameters.MaxAuthAge, out maxAuthAge) ? TimeSpan.FromSeconds(double.Parse(maxAuthAge, CultureInfo.InvariantCulture)) : (TimeSpan?)null; PreferredPolicies.Clear(); string[] preferredPolicies = fields[Constants.RequestParameters.PreferredAuthPolicies].Split(' '); foreach (string policy in preferredPolicies) { if (policy.Length > 0) { PreferredPolicies.Add(policy); } } PreferredAuthLevelTypes.Clear(); AliasManager authLevelAliases = FindIncomingAliases(fields); string preferredAuthLevelAliases; if (fields.TryGetValue(Constants.RequestParameters.PreferredAuthLevelTypes, out preferredAuthLevelAliases)) { foreach (string authLevelAlias in preferredAuthLevelAliases.Split(' ')) { if (authLevelAlias.Length == 0) { continue; } PreferredAuthLevelTypes.Add(authLevelAliases.ResolveAlias(authLevelAlias)); } } return(true); }
/// <summary> /// Gets a hash code for this object. /// </summary> public override int GetHashCode() { return(PreferredPolicies.GetHashCode()); }