diff options
Diffstat (limited to 'src/OpenID/OpenIdProviderWebForms/Code')
13 files changed, 0 insertions, 1947 deletions
diff --git a/src/OpenID/OpenIdProviderWebForms/Code/CustomStore.cs b/src/OpenID/OpenIdProviderWebForms/Code/CustomStore.cs deleted file mode 100644 index 3ff139f..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/CustomStore.cs +++ /dev/null @@ -1,138 +0,0 @@ -//----------------------------------------------------------------------- -// <copyright file="CustomStore.cs" company="Outercurve Foundation"> -// Copyright (c) Outercurve Foundation. All rights reserved. -// </copyright> -//----------------------------------------------------------------------- - -namespace OpenIdProviderWebForms.Code { - using System; - using System.Collections.Generic; - using System.Data; - using System.Globalization; - using DotNetOpenAuth; - using DotNetOpenAuth.Configuration; - using DotNetOpenAuth.Messaging.Bindings; - using DotNetOpenAuth.OpenId; - - /// <summary> - /// This custom store serializes all elements to demonstrate peristent and/or shared storage. - /// This is common in a web farm, for example. - /// </summary> - /// <remarks> - /// This doesn't actually serialize anything to a persistent store, so restarting the web server - /// will still clear everything this store is supposed to remember. - /// But we "persist" all associations and nonces into a DataTable to demonstrate - /// that using a database is possible. - /// </remarks> - public class CustomStore : IOpenIdApplicationStore { - private static CustomStoreDataSet dataSet = new CustomStoreDataSet(); - - #region INonceStore Members - - /// <summary> - /// Stores a given nonce and timestamp. - /// </summary> - /// <param name="context">The context, or namespace, within which the - /// <paramref name="nonce"/> must be unique. - /// The context SHOULD be treated as case-sensitive. - /// The value will never be <c>null</c> but may be the empty string.</param> - /// <param name="nonce">A series of random characters.</param> - /// <param name="timestampUtc">The timestamp that together with the nonce string make it unique. - /// The timestamp may also be used by the data store to clear out old nonces.</param> - /// <returns> - /// True if the nonce+timestamp (combination) was not previously in the database. - /// False if the nonce was stored previously with the same timestamp. - /// </returns> - /// <remarks> - /// The nonce must be stored for no less than the maximum time window a message may - /// be processed within before being discarded as an expired message. - /// If the binding element is applicable to your channel, this expiration window - /// is retrieved or set using the - /// <see cref="StandardExpirationBindingElement.MaximumMessageAge"/> property. - /// </remarks> - public bool StoreNonce(string context, string nonce, DateTime timestampUtc) { - // IMPORTANT: If actually persisting to a database that can be reached from - // different servers/instances of this class at once, it is vitally important - // to protect against race condition attacks by one or more of these: - // 1) setting a UNIQUE constraint on the nonce CODE in the SQL table - // 2) Using a transaction with repeatable reads to guarantee that a check - // that verified a nonce did not exist will prevent that nonce from being - // added by another process while this process is adding it. - // And then you'll want to catch the exception that the SQL database can throw - // at you in the result of a race condition somewhere in your web site UI code - // and display some message to have the user try to log in again, and possibly - // warn them about a replay attack. - lock (this) { - if (dataSet.Nonce.FindByIssuedUtcCodeContext(timestampUtc, nonce, context) != null) { - return false; - } - - TimeSpan maxMessageAge = DotNetOpenAuthSection.Messaging.MaximumMessageLifetime; - dataSet.Nonce.AddNonceRow(context, nonce, timestampUtc, timestampUtc + maxMessageAge); - return true; - } - } - - public void ClearExpiredNonces() { - this.removeExpiredRows(dataSet.Nonce, dataSet.Nonce.ExpiresUtcColumn.ColumnName); - } - - #endregion - - #region ICryptoKeyStore Members - - public CryptoKey GetKey(string bucket, string handle) { - var assocRow = dataSet.CryptoKey.FindByBucketHandle(bucket, handle); - return new CryptoKey(assocRow.Secret, assocRow.ExpiresUtc); - } - - public IEnumerable<KeyValuePair<string, CryptoKey>> GetKeys(string bucket) { - // properly escape the URL to prevent injection attacks. - string value = bucket.Replace("'", "''"); - string filter = string.Format( - CultureInfo.InvariantCulture, - "{0} = '{1}'", - dataSet.CryptoKey.BucketColumn.ColumnName, - value); - string sort = dataSet.CryptoKey.ExpiresUtcColumn.ColumnName + " DESC"; - DataView view = new DataView(dataSet.CryptoKey, filter, sort, DataViewRowState.CurrentRows); - if (view.Count == 0) { - yield break; - } - - foreach (CustomStoreDataSet.CryptoKeyRow row in view) { - yield return new KeyValuePair<string, CryptoKey>(row.Handle, new CryptoKey(row.Secret, row.ExpiresUtc)); - } - } - - public void StoreKey(string bucket, string handle, CryptoKey key) { - var cryptoKeyRow = dataSet.CryptoKey.NewCryptoKeyRow(); - cryptoKeyRow.Bucket = bucket; - cryptoKeyRow.Handle = handle; - cryptoKeyRow.ExpiresUtc = key.ExpiresUtc; - cryptoKeyRow.Secret = key.Key; - dataSet.CryptoKey.AddCryptoKeyRow(cryptoKeyRow); - } - - public void RemoveKey(string bucket, string handle) { - var row = dataSet.CryptoKey.FindByBucketHandle(bucket, handle); - if (row != null) { - dataSet.CryptoKey.RemoveCryptoKeyRow(row); - } - } - - #endregion - - internal void ClearExpiredSecrets() { - this.removeExpiredRows(dataSet.CryptoKey, dataSet.CryptoKey.ExpiresUtcColumn.ColumnName); - } - - private void removeExpiredRows(DataTable table, string expiredColumnName) { - string filter = string.Format(CultureInfo.InvariantCulture, "{0} < #{1}#", expiredColumnName, DateTime.UtcNow); - DataView view = new DataView(table, filter, null, DataViewRowState.CurrentRows); - for (int i = view.Count - 1; i >= 0; i--) { - view.Delete(i); - } - } - } -} diff --git a/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.Designer.cs b/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.Designer.cs deleted file mode 100644 index 7e9138b..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.Designer.cs +++ /dev/null @@ -1,1113 +0,0 @@ -//------------------------------------------------------------------------------ -// <auto-generated> -// This code was generated by a tool. -// Runtime Version:4.0.30319.18051 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// </auto-generated> -//------------------------------------------------------------------------------ - -#pragma warning disable 1591 - -namespace OpenIdProviderWebForms.Code { - - - /// <summary> - ///Represents a strongly typed in-memory cache of data. - ///</summary> - [global::System.Serializable()] - [global::System.ComponentModel.DesignerCategoryAttribute("code")] - [global::System.ComponentModel.ToolboxItem(true)] - [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")] - [global::System.Xml.Serialization.XmlRootAttribute("CustomStoreDataSet")] - [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")] - public partial class CustomStoreDataSet : global::System.Data.DataSet { - - private CryptoKeyDataTable tableCryptoKey; - - private NonceDataTable tableNonce; - - private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema; - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public CustomStoreDataSet() { - this.BeginInit(); - this.InitClass(); - global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); - base.Tables.CollectionChanged += schemaChangedHandler; - base.Relations.CollectionChanged += schemaChangedHandler; - this.EndInit(); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected CustomStoreDataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : - base(info, context, false) { - if ((this.IsBinarySerialized(info, context) == true)) { - this.InitVars(false); - global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); - this.Tables.CollectionChanged += schemaChangedHandler1; - this.Relations.CollectionChanged += schemaChangedHandler1; - return; - } - string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string)))); - if ((this.DetermineSchemaSerializationMode(info, context) == global::System.Data.SchemaSerializationMode.IncludeSchema)) { - global::System.Data.DataSet ds = new global::System.Data.DataSet(); - ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema))); - if ((ds.Tables["CryptoKey"] != null)) { - base.Tables.Add(new CryptoKeyDataTable(ds.Tables["CryptoKey"])); - } - if ((ds.Tables["Nonce"] != null)) { - base.Tables.Add(new NonceDataTable(ds.Tables["Nonce"])); - } - this.DataSetName = ds.DataSetName; - this.Prefix = ds.Prefix; - this.Namespace = ds.Namespace; - this.Locale = ds.Locale; - this.CaseSensitive = ds.CaseSensitive; - this.EnforceConstraints = ds.EnforceConstraints; - this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add); - this.InitVars(); - } - else { - this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema))); - } - this.GetSerializationData(info, context); - global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); - base.Tables.CollectionChanged += schemaChangedHandler; - this.Relations.CollectionChanged += schemaChangedHandler; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - [global::System.ComponentModel.Browsable(false)] - [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] - public CryptoKeyDataTable CryptoKey { - get { - return this.tableCryptoKey; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - [global::System.ComponentModel.Browsable(false)] - [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] - public NonceDataTable Nonce { - get { - return this.tableNonce; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - [global::System.ComponentModel.BrowsableAttribute(true)] - [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)] - public override global::System.Data.SchemaSerializationMode SchemaSerializationMode { - get { - return this._schemaSerializationMode; - } - set { - this._schemaSerializationMode = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)] - public new global::System.Data.DataTableCollection Tables { - get { - return base.Tables; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)] - public new global::System.Data.DataRelationCollection Relations { - get { - return base.Relations; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void InitializeDerivedDataSet() { - this.BeginInit(); - this.InitClass(); - this.EndInit(); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public override global::System.Data.DataSet Clone() { - CustomStoreDataSet cln = ((CustomStoreDataSet)(base.Clone())); - cln.InitVars(); - cln.SchemaSerializationMode = this.SchemaSerializationMode; - return cln; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override bool ShouldSerializeTables() { - return false; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override bool ShouldSerializeRelations() { - return false; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) { - if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) { - this.Reset(); - global::System.Data.DataSet ds = new global::System.Data.DataSet(); - ds.ReadXml(reader); - if ((ds.Tables["CryptoKey"] != null)) { - base.Tables.Add(new CryptoKeyDataTable(ds.Tables["CryptoKey"])); - } - if ((ds.Tables["Nonce"] != null)) { - base.Tables.Add(new NonceDataTable(ds.Tables["Nonce"])); - } - this.DataSetName = ds.DataSetName; - this.Prefix = ds.Prefix; - this.Namespace = ds.Namespace; - this.Locale = ds.Locale; - this.CaseSensitive = ds.CaseSensitive; - this.EnforceConstraints = ds.EnforceConstraints; - this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add); - this.InitVars(); - } - else { - this.ReadXml(reader); - this.InitVars(); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() { - global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream(); - this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null)); - stream.Position = 0; - return global::System.Xml.Schema.XmlSchema.Read(new global::System.Xml.XmlTextReader(stream), null); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - internal void InitVars() { - this.InitVars(true); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - internal void InitVars(bool initTable) { - this.tableCryptoKey = ((CryptoKeyDataTable)(base.Tables["CryptoKey"])); - if ((initTable == true)) { - if ((this.tableCryptoKey != null)) { - this.tableCryptoKey.InitVars(); - } - } - this.tableNonce = ((NonceDataTable)(base.Tables["Nonce"])); - if ((initTable == true)) { - if ((this.tableNonce != null)) { - this.tableNonce.InitVars(); - } - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - private void InitClass() { - this.DataSetName = "CustomStoreDataSet"; - this.Prefix = ""; - this.Namespace = "http://tempuri.org/CustomStoreDataSet.xsd"; - this.EnforceConstraints = true; - this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema; - this.tableCryptoKey = new CryptoKeyDataTable(); - base.Tables.Add(this.tableCryptoKey); - this.tableNonce = new NonceDataTable(); - base.Tables.Add(this.tableNonce); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - private bool ShouldSerializeCryptoKey() { - return false; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - private bool ShouldSerializeNonce() { - return false; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) { - if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) { - this.InitVars(); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) { - CustomStoreDataSet ds = new CustomStoreDataSet(); - global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); - global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); - global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny(); - any.Namespace = ds.Namespace; - sequence.Items.Add(any); - type.Particle = sequence; - global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); - if (xs.Contains(dsSchema.TargetNamespace)) { - global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); - global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); - try { - global::System.Xml.Schema.XmlSchema schema = null; - dsSchema.Write(s1); - for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { - schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); - s2.SetLength(0); - schema.Write(s2); - if ((s1.Length == s2.Length)) { - s1.Position = 0; - s2.Position = 0; - for (; ((s1.Position != s1.Length) - && (s1.ReadByte() == s2.ReadByte())); ) { - ; - } - if ((s1.Position == s1.Length)) { - return type; - } - } - } - } - finally { - if ((s1 != null)) { - s1.Close(); - } - if ((s2 != null)) { - s2.Close(); - } - } - } - xs.Add(dsSchema); - return type; - } - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public delegate void CryptoKeyRowChangeEventHandler(object sender, CryptoKeyRowChangeEvent e); - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public delegate void NonceRowChangeEventHandler(object sender, NonceRowChangeEvent e); - - /// <summary> - ///Represents the strongly named DataTable class. - ///</summary> - [global::System.Serializable()] - [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] - public partial class CryptoKeyDataTable : global::System.Data.TypedTableBase<CryptoKeyRow> { - - private global::System.Data.DataColumn columnBucket; - - private global::System.Data.DataColumn columnHandle; - - private global::System.Data.DataColumn columnExpiresUtc; - - private global::System.Data.DataColumn columnSecret; - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public CryptoKeyDataTable() { - this.TableName = "CryptoKey"; - this.BeginInit(); - this.InitClass(); - this.EndInit(); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - internal CryptoKeyDataTable(global::System.Data.DataTable table) { - this.TableName = table.TableName; - if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { - this.CaseSensitive = table.CaseSensitive; - } - if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { - this.Locale = table.Locale; - } - if ((table.Namespace != table.DataSet.Namespace)) { - this.Namespace = table.Namespace; - } - this.Prefix = table.Prefix; - this.MinimumCapacity = table.MinimumCapacity; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected CryptoKeyDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : - base(info, context) { - this.InitVars(); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataColumn BucketColumn { - get { - return this.columnBucket; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataColumn HandleColumn { - get { - return this.columnHandle; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataColumn ExpiresUtcColumn { - get { - return this.columnExpiresUtc; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataColumn SecretColumn { - get { - return this.columnSecret; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - [global::System.ComponentModel.Browsable(false)] - public int Count { - get { - return this.Rows.Count; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public CryptoKeyRow this[int index] { - get { - return ((CryptoKeyRow)(this.Rows[index])); - } - } - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public event CryptoKeyRowChangeEventHandler CryptoKeyRowChanging; - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public event CryptoKeyRowChangeEventHandler CryptoKeyRowChanged; - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public event CryptoKeyRowChangeEventHandler CryptoKeyRowDeleting; - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public event CryptoKeyRowChangeEventHandler CryptoKeyRowDeleted; - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public void AddCryptoKeyRow(CryptoKeyRow row) { - this.Rows.Add(row); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public CryptoKeyRow AddCryptoKeyRow(string Bucket, string Handle, System.DateTime ExpiresUtc, byte[] Secret) { - CryptoKeyRow rowCryptoKeyRow = ((CryptoKeyRow)(this.NewRow())); - object[] columnValuesArray = new object[] { - Bucket, - Handle, - ExpiresUtc, - Secret}; - rowCryptoKeyRow.ItemArray = columnValuesArray; - this.Rows.Add(rowCryptoKeyRow); - return rowCryptoKeyRow; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public CryptoKeyRow FindByBucketHandle(string Bucket, string Handle) { - return ((CryptoKeyRow)(this.Rows.Find(new object[] { - Bucket, - Handle}))); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public override global::System.Data.DataTable Clone() { - CryptoKeyDataTable cln = ((CryptoKeyDataTable)(base.Clone())); - cln.InitVars(); - return cln; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override global::System.Data.DataTable CreateInstance() { - return new CryptoKeyDataTable(); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - internal void InitVars() { - this.columnBucket = base.Columns["Bucket"]; - this.columnHandle = base.Columns["Handle"]; - this.columnExpiresUtc = base.Columns["ExpiresUtc"]; - this.columnSecret = base.Columns["Secret"]; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - private void InitClass() { - this.columnBucket = new global::System.Data.DataColumn("Bucket", typeof(string), null, global::System.Data.MappingType.Element); - base.Columns.Add(this.columnBucket); - this.columnHandle = new global::System.Data.DataColumn("Handle", typeof(string), null, global::System.Data.MappingType.Element); - base.Columns.Add(this.columnHandle); - this.columnExpiresUtc = new global::System.Data.DataColumn("ExpiresUtc", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); - base.Columns.Add(this.columnExpiresUtc); - this.columnSecret = new global::System.Data.DataColumn("Secret", typeof(byte[]), null, global::System.Data.MappingType.Element); - base.Columns.Add(this.columnSecret); - this.Constraints.Add(new global::System.Data.UniqueConstraint("PrimaryKey", new global::System.Data.DataColumn[] { - this.columnBucket, - this.columnHandle}, true)); - this.columnBucket.AllowDBNull = false; - this.columnBucket.ReadOnly = true; - this.columnHandle.AllowDBNull = false; - this.columnHandle.ReadOnly = true; - this.columnExpiresUtc.AllowDBNull = false; - this.columnExpiresUtc.DateTimeMode = global::System.Data.DataSetDateTime.Utc; - this.columnSecret.AllowDBNull = false; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public CryptoKeyRow NewCryptoKeyRow() { - return ((CryptoKeyRow)(this.NewRow())); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { - return new CryptoKeyRow(builder); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override global::System.Type GetRowType() { - return typeof(CryptoKeyRow); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { - base.OnRowChanged(e); - if ((this.CryptoKeyRowChanged != null)) { - this.CryptoKeyRowChanged(this, new CryptoKeyRowChangeEvent(((CryptoKeyRow)(e.Row)), e.Action)); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { - base.OnRowChanging(e); - if ((this.CryptoKeyRowChanging != null)) { - this.CryptoKeyRowChanging(this, new CryptoKeyRowChangeEvent(((CryptoKeyRow)(e.Row)), e.Action)); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { - base.OnRowDeleted(e); - if ((this.CryptoKeyRowDeleted != null)) { - this.CryptoKeyRowDeleted(this, new CryptoKeyRowChangeEvent(((CryptoKeyRow)(e.Row)), e.Action)); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { - base.OnRowDeleting(e); - if ((this.CryptoKeyRowDeleting != null)) { - this.CryptoKeyRowDeleting(this, new CryptoKeyRowChangeEvent(((CryptoKeyRow)(e.Row)), e.Action)); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public void RemoveCryptoKeyRow(CryptoKeyRow row) { - this.Rows.Remove(row); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { - global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); - global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); - CustomStoreDataSet ds = new CustomStoreDataSet(); - global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); - any1.Namespace = "http://www.w3.org/2001/XMLSchema"; - any1.MinOccurs = new decimal(0); - any1.MaxOccurs = decimal.MaxValue; - any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; - sequence.Items.Add(any1); - global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); - any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; - any2.MinOccurs = new decimal(1); - any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; - sequence.Items.Add(any2); - global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); - attribute1.Name = "namespace"; - attribute1.FixedValue = ds.Namespace; - type.Attributes.Add(attribute1); - global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); - attribute2.Name = "tableTypeName"; - attribute2.FixedValue = "CryptoKeyDataTable"; - type.Attributes.Add(attribute2); - type.Particle = sequence; - global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); - if (xs.Contains(dsSchema.TargetNamespace)) { - global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); - global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); - try { - global::System.Xml.Schema.XmlSchema schema = null; - dsSchema.Write(s1); - for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { - schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); - s2.SetLength(0); - schema.Write(s2); - if ((s1.Length == s2.Length)) { - s1.Position = 0; - s2.Position = 0; - for (; ((s1.Position != s1.Length) - && (s1.ReadByte() == s2.ReadByte())); ) { - ; - } - if ((s1.Position == s1.Length)) { - return type; - } - } - } - } - finally { - if ((s1 != null)) { - s1.Close(); - } - if ((s2 != null)) { - s2.Close(); - } - } - } - xs.Add(dsSchema); - return type; - } - } - - /// <summary> - ///Represents the strongly named DataTable class. - ///</summary> - [global::System.Serializable()] - [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] - public partial class NonceDataTable : global::System.Data.TypedTableBase<NonceRow> { - - private global::System.Data.DataColumn columnContext; - - private global::System.Data.DataColumn columnCode; - - private global::System.Data.DataColumn columnIssuedUtc; - - private global::System.Data.DataColumn columnExpiresUtc; - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public NonceDataTable() { - this.TableName = "Nonce"; - this.BeginInit(); - this.InitClass(); - this.EndInit(); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - internal NonceDataTable(global::System.Data.DataTable table) { - this.TableName = table.TableName; - if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { - this.CaseSensitive = table.CaseSensitive; - } - if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { - this.Locale = table.Locale; - } - if ((table.Namespace != table.DataSet.Namespace)) { - this.Namespace = table.Namespace; - } - this.Prefix = table.Prefix; - this.MinimumCapacity = table.MinimumCapacity; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected NonceDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : - base(info, context) { - this.InitVars(); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataColumn ContextColumn { - get { - return this.columnContext; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataColumn CodeColumn { - get { - return this.columnCode; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataColumn IssuedUtcColumn { - get { - return this.columnIssuedUtc; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataColumn ExpiresUtcColumn { - get { - return this.columnExpiresUtc; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - [global::System.ComponentModel.Browsable(false)] - public int Count { - get { - return this.Rows.Count; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public NonceRow this[int index] { - get { - return ((NonceRow)(this.Rows[index])); - } - } - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public event NonceRowChangeEventHandler NonceRowChanging; - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public event NonceRowChangeEventHandler NonceRowChanged; - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public event NonceRowChangeEventHandler NonceRowDeleting; - - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public event NonceRowChangeEventHandler NonceRowDeleted; - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public void AddNonceRow(NonceRow row) { - this.Rows.Add(row); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public NonceRow AddNonceRow(string Context, string Code, System.DateTime IssuedUtc, System.DateTime ExpiresUtc) { - NonceRow rowNonceRow = ((NonceRow)(this.NewRow())); - object[] columnValuesArray = new object[] { - Context, - Code, - IssuedUtc, - ExpiresUtc}; - rowNonceRow.ItemArray = columnValuesArray; - this.Rows.Add(rowNonceRow); - return rowNonceRow; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public NonceRow FindByIssuedUtcCodeContext(System.DateTime IssuedUtc, string Code, string Context) { - return ((NonceRow)(this.Rows.Find(new object[] { - IssuedUtc, - Code, - Context}))); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public override global::System.Data.DataTable Clone() { - NonceDataTable cln = ((NonceDataTable)(base.Clone())); - cln.InitVars(); - return cln; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override global::System.Data.DataTable CreateInstance() { - return new NonceDataTable(); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - internal void InitVars() { - this.columnContext = base.Columns["Context"]; - this.columnCode = base.Columns["Code"]; - this.columnIssuedUtc = base.Columns["IssuedUtc"]; - this.columnExpiresUtc = base.Columns["ExpiresUtc"]; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - private void InitClass() { - this.columnContext = new global::System.Data.DataColumn("Context", typeof(string), null, global::System.Data.MappingType.Element); - base.Columns.Add(this.columnContext); - this.columnCode = new global::System.Data.DataColumn("Code", typeof(string), null, global::System.Data.MappingType.Element); - base.Columns.Add(this.columnCode); - this.columnIssuedUtc = new global::System.Data.DataColumn("IssuedUtc", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); - base.Columns.Add(this.columnIssuedUtc); - this.columnExpiresUtc = new global::System.Data.DataColumn("ExpiresUtc", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); - base.Columns.Add(this.columnExpiresUtc); - this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { - this.columnIssuedUtc, - this.columnCode, - this.columnContext}, true)); - this.columnContext.AllowDBNull = false; - this.columnCode.AllowDBNull = false; - this.columnIssuedUtc.AllowDBNull = false; - this.columnIssuedUtc.DateTimeMode = global::System.Data.DataSetDateTime.Utc; - this.columnExpiresUtc.AllowDBNull = false; - this.columnExpiresUtc.DateTimeMode = global::System.Data.DataSetDateTime.Utc; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public NonceRow NewNonceRow() { - return ((NonceRow)(this.NewRow())); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { - return new NonceRow(builder); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override global::System.Type GetRowType() { - return typeof(NonceRow); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { - base.OnRowChanged(e); - if ((this.NonceRowChanged != null)) { - this.NonceRowChanged(this, new NonceRowChangeEvent(((NonceRow)(e.Row)), e.Action)); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { - base.OnRowChanging(e); - if ((this.NonceRowChanging != null)) { - this.NonceRowChanging(this, new NonceRowChangeEvent(((NonceRow)(e.Row)), e.Action)); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { - base.OnRowDeleted(e); - if ((this.NonceRowDeleted != null)) { - this.NonceRowDeleted(this, new NonceRowChangeEvent(((NonceRow)(e.Row)), e.Action)); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { - base.OnRowDeleting(e); - if ((this.NonceRowDeleting != null)) { - this.NonceRowDeleting(this, new NonceRowChangeEvent(((NonceRow)(e.Row)), e.Action)); - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public void RemoveNonceRow(NonceRow row) { - this.Rows.Remove(row); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { - global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); - global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); - CustomStoreDataSet ds = new CustomStoreDataSet(); - global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); - any1.Namespace = "http://www.w3.org/2001/XMLSchema"; - any1.MinOccurs = new decimal(0); - any1.MaxOccurs = decimal.MaxValue; - any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; - sequence.Items.Add(any1); - global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); - any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; - any2.MinOccurs = new decimal(1); - any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; - sequence.Items.Add(any2); - global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); - attribute1.Name = "namespace"; - attribute1.FixedValue = ds.Namespace; - type.Attributes.Add(attribute1); - global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); - attribute2.Name = "tableTypeName"; - attribute2.FixedValue = "NonceDataTable"; - type.Attributes.Add(attribute2); - type.Particle = sequence; - global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); - if (xs.Contains(dsSchema.TargetNamespace)) { - global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); - global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); - try { - global::System.Xml.Schema.XmlSchema schema = null; - dsSchema.Write(s1); - for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { - schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); - s2.SetLength(0); - schema.Write(s2); - if ((s1.Length == s2.Length)) { - s1.Position = 0; - s2.Position = 0; - for (; ((s1.Position != s1.Length) - && (s1.ReadByte() == s2.ReadByte())); ) { - ; - } - if ((s1.Position == s1.Length)) { - return type; - } - } - } - } - finally { - if ((s1 != null)) { - s1.Close(); - } - if ((s2 != null)) { - s2.Close(); - } - } - } - xs.Add(dsSchema); - return type; - } - } - - /// <summary> - ///Represents strongly named DataRow class. - ///</summary> - public partial class CryptoKeyRow : global::System.Data.DataRow { - - private CryptoKeyDataTable tableCryptoKey; - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - internal CryptoKeyRow(global::System.Data.DataRowBuilder rb) : - base(rb) { - this.tableCryptoKey = ((CryptoKeyDataTable)(this.Table)); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public string Bucket { - get { - return ((string)(this[this.tableCryptoKey.BucketColumn])); - } - set { - this[this.tableCryptoKey.BucketColumn] = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public string Handle { - get { - return ((string)(this[this.tableCryptoKey.HandleColumn])); - } - set { - this[this.tableCryptoKey.HandleColumn] = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public System.DateTime ExpiresUtc { - get { - return ((global::System.DateTime)(this[this.tableCryptoKey.ExpiresUtcColumn])); - } - set { - this[this.tableCryptoKey.ExpiresUtcColumn] = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public byte[] Secret { - get { - return ((byte[])(this[this.tableCryptoKey.SecretColumn])); - } - set { - this[this.tableCryptoKey.SecretColumn] = value; - } - } - } - - /// <summary> - ///Represents strongly named DataRow class. - ///</summary> - public partial class NonceRow : global::System.Data.DataRow { - - private NonceDataTable tableNonce; - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - internal NonceRow(global::System.Data.DataRowBuilder rb) : - base(rb) { - this.tableNonce = ((NonceDataTable)(this.Table)); - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public string Context { - get { - return ((string)(this[this.tableNonce.ContextColumn])); - } - set { - this[this.tableNonce.ContextColumn] = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public string Code { - get { - return ((string)(this[this.tableNonce.CodeColumn])); - } - set { - this[this.tableNonce.CodeColumn] = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public System.DateTime IssuedUtc { - get { - return ((global::System.DateTime)(this[this.tableNonce.IssuedUtcColumn])); - } - set { - this[this.tableNonce.IssuedUtcColumn] = value; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public System.DateTime ExpiresUtc { - get { - return ((global::System.DateTime)(this[this.tableNonce.ExpiresUtcColumn])); - } - set { - this[this.tableNonce.ExpiresUtcColumn] = value; - } - } - } - - /// <summary> - ///Row event argument class - ///</summary> - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public class CryptoKeyRowChangeEvent : global::System.EventArgs { - - private CryptoKeyRow eventRow; - - private global::System.Data.DataRowAction eventAction; - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public CryptoKeyRowChangeEvent(CryptoKeyRow row, global::System.Data.DataRowAction action) { - this.eventRow = row; - this.eventAction = action; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public CryptoKeyRow Row { - get { - return this.eventRow; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataRowAction Action { - get { - return this.eventAction; - } - } - } - - /// <summary> - ///Row event argument class - ///</summary> - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public class NonceRowChangeEvent : global::System.EventArgs { - - private NonceRow eventRow; - - private global::System.Data.DataRowAction eventAction; - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public NonceRowChangeEvent(NonceRow row, global::System.Data.DataRowAction action) { - this.eventRow = row; - this.eventAction = action; - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public NonceRow Row { - get { - return this.eventRow; - } - } - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public global::System.Data.DataRowAction Action { - get { - return this.eventAction; - } - } - } - } -} - -#pragma warning restore 1591
\ No newline at end of file diff --git a/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.xsc b/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.xsc deleted file mode 100644 index 05b0199..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.xsc +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--<autogenerated> - This code was generated by a tool. - Changes to this file may cause incorrect behavior and will be lost if - the code is regenerated. -</autogenerated>--> -<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> - <TableUISettings /> -</DataSetUISetting>
\ No newline at end of file diff --git a/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.xsd b/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.xsd deleted file mode 100644 index cf3b62e..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.xsd +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<xs:schema id="CustomStoreDataSet" targetNamespace="http://tempuri.org/CustomStoreDataSet.xsd" xmlns:mstns="http://tempuri.org/CustomStoreDataSet.xsd" xmlns="http://tempuri.org/CustomStoreDataSet.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified"> - <xs:annotation> - <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource"> - <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> - <Connections /> - <Tables /> - <Sources /> - </DataSource> - </xs:appinfo> - </xs:annotation> - <xs:element name="CustomStoreDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="CustomStoreDataSet" msprop:Generator_UserDSName="CustomStoreDataSet"> - <xs:complexType> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="CryptoKey" msprop:Generator_UserTableName="CryptoKey" msprop:Generator_RowEvArgName="CryptoKeyRowChangeEvent" msprop:Generator_TableVarName="tableCryptoKey" msprop:Generator_TablePropName="CryptoKey" msprop:Generator_RowDeletingName="CryptoKeyRowDeleting" msprop:Generator_RowChangingName="CryptoKeyRowChanging" msprop:Generator_RowDeletedName="CryptoKeyRowDeleted" msprop:Generator_RowEvHandlerName="CryptoKeyRowChangeEventHandler" msprop:Generator_RowChangedName="CryptoKeyRowChanged" msprop:Generator_TableClassName="CryptoKeyDataTable" msprop:Generator_RowClassName="CryptoKeyRow"> - <xs:complexType> - <xs:sequence> - <xs:element name="Bucket" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnBucket" msprop:Generator_ColumnPropNameInRow="Bucket" msprop:Generator_ColumnPropNameInTable="BucketColumn" msprop:Generator_UserColumnName="Bucket" type="xs:string" /> - <xs:element name="Handle" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnHandle" msprop:Generator_ColumnPropNameInRow="Handle" msprop:Generator_ColumnPropNameInTable="HandleColumn" msprop:Generator_UserColumnName="Handle" type="xs:string" /> - <xs:element name="ExpiresUtc" msdata:DateTimeMode="Utc" msprop:Generator_ColumnVarNameInTable="columnExpiresUtc" msprop:Generator_ColumnPropNameInRow="ExpiresUtc" msprop:Generator_ColumnPropNameInTable="ExpiresUtcColumn" msprop:Generator_UserColumnName="ExpiresUtc" type="xs:dateTime" /> - <xs:element name="Secret" msprop:Generator_ColumnVarNameInTable="columnSecret" msprop:Generator_ColumnPropNameInRow="Secret" msprop:Generator_ColumnPropNameInTable="SecretColumn" msprop:Generator_UserColumnName="Secret" type="xs:base64Binary" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="Nonce" msprop:Generator_UserTableName="Nonce" msprop:Generator_RowEvArgName="NonceRowChangeEvent" msprop:Generator_TableVarName="tableNonce" msprop:Generator_TablePropName="Nonce" msprop:Generator_RowDeletingName="NonceRowDeleting" msprop:Generator_RowChangingName="NonceRowChanging" msprop:Generator_RowDeletedName="NonceRowDeleted" msprop:Generator_RowEvHandlerName="NonceRowChangeEventHandler" msprop:Generator_RowChangedName="NonceRowChanged" msprop:Generator_TableClassName="NonceDataTable" msprop:Generator_RowClassName="NonceRow"> - <xs:complexType> - <xs:sequence> - <xs:element name="Context" msprop:Generator_ColumnVarNameInTable="columnContext" msprop:Generator_ColumnPropNameInRow="Context" msprop:Generator_ColumnPropNameInTable="ContextColumn" msprop:Generator_UserColumnName="Context" type="xs:string" /> - <xs:element name="Code" msprop:Generator_ColumnVarNameInTable="columnCode" msprop:Generator_ColumnPropNameInRow="Code" msprop:Generator_ColumnPropNameInTable="CodeColumn" msprop:Generator_UserColumnName="Code" type="xs:string" /> - <xs:element name="IssuedUtc" msdata:DateTimeMode="Utc" msprop:Generator_ColumnVarNameInTable="columnIssuedUtc" msprop:Generator_ColumnPropNameInRow="IssuedUtc" msprop:Generator_ColumnPropNameInTable="IssuedUtcColumn" msprop:Generator_UserColumnName="IssuedUtc" type="xs:dateTime" /> - <xs:element name="ExpiresUtc" msdata:DateTimeMode="Utc" msprop:Generator_ColumnVarNameInTable="columnExpiresUtc" msprop:Generator_ColumnPropNameInRow="ExpiresUtc" msprop:Generator_ColumnPropNameInTable="ExpiresUtcColumn" msprop:Generator_UserColumnName="ExpiresUtc" type="xs:dateTime" /> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:complexType> - <xs:unique name="PrimaryKey" msdata:PrimaryKey="true"> - <xs:selector xpath=".//mstns:CryptoKey" /> - <xs:field xpath="mstns:Bucket" /> - <xs:field xpath="mstns:Handle" /> - </xs:unique> - <xs:unique name="Constraint1" msdata:PrimaryKey="true"> - <xs:selector xpath=".//mstns:Nonce" /> - <xs:field xpath="mstns:IssuedUtc" /> - <xs:field xpath="mstns:Code" /> - <xs:field xpath="mstns:Context" /> - </xs:unique> - </xs:element> -</xs:schema>
\ No newline at end of file diff --git a/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.xss b/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.xss deleted file mode 100644 index b19f728..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/CustomStoreDataSet.xss +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--<autogenerated> - This code was generated by a tool to store the dataset designer's layout information. - Changes to this file may cause incorrect behavior and will be lost if - the code is regenerated. -</autogenerated>--> -<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> - <Shapes> - <Shape ID="DesignTable:Association" ZOrder="2" X="349" Y="83" Height="105" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" /> - <Shape ID="DesignTable:Nonce" ZOrder="1" X="567" Y="77" Height="125" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" /> - </Shapes> - <Connectors /> -</DiagramLayout>
\ No newline at end of file diff --git a/src/OpenID/OpenIdProviderWebForms/Code/InMemoryConsumerDescription.cs b/src/OpenID/OpenIdProviderWebForms/Code/InMemoryConsumerDescription.cs deleted file mode 100644 index 11b5ba5..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/InMemoryConsumerDescription.cs +++ /dev/null @@ -1,31 +0,0 @@ -//----------------------------------------------------------------------- -// <copyright file="InMemoryConsumerDescription.cs" company="Outercurve Foundation"> -// Copyright (c) Outercurve Foundation. All rights reserved. -// </copyright> -//----------------------------------------------------------------------- - -namespace OpenIdProviderWebForms.Code { - using System; - using System.Collections.Generic; - using System.Linq; - using System.Web; - using DotNetOpenAuth.OAuth.ChannelElements; - - public class InMemoryConsumerDescription : IConsumerDescription { - #region IConsumerDescription Members - - public string Key { get; set; } - - public string Secret { get; set; } - - public System.Security.Cryptography.X509Certificates.X509Certificate2 Certificate { get; set; } - - public Uri Callback { get; set; } - - public DotNetOpenAuth.OAuth.VerificationCodeFormat VerificationCodeFormat { get; set; } - - public int VerificationCodeLength { get; set; } - - #endregion - } -} diff --git a/src/OpenID/OpenIdProviderWebForms/Code/InMemoryServiceProviderAccessToken.cs b/src/OpenID/OpenIdProviderWebForms/Code/InMemoryServiceProviderAccessToken.cs deleted file mode 100644 index 106d38e..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/InMemoryServiceProviderAccessToken.cs +++ /dev/null @@ -1,31 +0,0 @@ -//----------------------------------------------------------------------- -// <copyright file="InMemoryServiceProviderAccessToken.cs" company="Outercurve Foundation"> -// Copyright (c) Outercurve Foundation. All rights reserved. -// </copyright> -//----------------------------------------------------------------------- - -namespace OpenIdProviderWebForms.Code { - using System; - using System.Collections.Generic; - using System.Linq; - using System.Web; - using DotNetOpenAuth.OAuth.ChannelElements; - - public class InMemoryServiceProviderAccessToken : IServiceProviderAccessToken { - #region IServiceProviderAccessToken Members - - public string Token { get; set; } - - public DateTime? ExpirationDate { get; set; } - - public string Username { get; set; } - - public string[] Roles { get; set; } - - #endregion - - public string Secret { get; set; } - - public string Scope { get; set; } - } -} diff --git a/src/OpenID/OpenIdProviderWebForms/Code/InMemoryServiceProviderRequestToken.cs b/src/OpenID/OpenIdProviderWebForms/Code/InMemoryServiceProviderRequestToken.cs deleted file mode 100644 index ce2051c..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/InMemoryServiceProviderRequestToken.cs +++ /dev/null @@ -1,42 +0,0 @@ -//----------------------------------------------------------------------- -// <copyright file="InMemoryServiceProviderRequestToken.cs" company="Outercurve Foundation"> -// Copyright (c) Outercurve Foundation. All rights reserved. -// </copyright> -//----------------------------------------------------------------------- - -namespace OpenIdProviderWebForms.Code { - using System; - using System.Collections.Generic; - using System.Linq; - using System.Web; - using DotNetOpenAuth.OAuth.ChannelElements; - - public class InMemoryServiceProviderRequestToken : IServiceProviderRequestToken { - /// <summary> - /// Initializes a new instance of the <see cref="InMemoryServiceProviderRequestToken"/> class. - /// </summary> - public InMemoryServiceProviderRequestToken() { - this.CreatedOn = DateTime.Now; - } - - #region IServiceProviderRequestToken Members - - public string Token { get; set; } - - public string ConsumerKey { get; set; } - - public DateTime CreatedOn { get; set; } - - public Uri Callback { get; set; } - - public string VerificationCode { get; set; } - - public Version ConsumerVersion { get; set; } - - #endregion - - public string Secret { get; set; } - - public string Scope { get; set; } - } -} diff --git a/src/OpenID/OpenIdProviderWebForms/Code/InMemoryTokenManager.cs b/src/OpenID/OpenIdProviderWebForms/Code/InMemoryTokenManager.cs deleted file mode 100644 index c391291..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/InMemoryTokenManager.cs +++ /dev/null @@ -1,117 +0,0 @@ -//----------------------------------------------------------------------- -// <copyright file="InMemoryTokenManager.cs" company="Outercurve Foundation"> -// Copyright (c) Outercurve Foundation. All rights reserved. -// </copyright> -//----------------------------------------------------------------------- - -namespace OpenIdProviderWebForms.Code { - using System; - using System.Collections.Generic; - using System.Linq; - using System.Web; - using DotNetOpenAuth.OAuth.ChannelElements; - using DotNetOpenAuth.OAuth.Messages; - using DotNetOpenAuth.OpenId.Extensions.OAuth; - - /// <summary> - /// A simple in-memory token manager. JUST FOR PURPOSES OF KEEPING THE SAMPLE SIMPLE. - /// </summary> - /// <remarks> - /// This is merely a sample app. A real web app SHOULD NEVER store a memory-only - /// token manager in application. It should be an IServiceProviderTokenManager - /// implementation that is bound to a database. - /// </remarks> - public class InMemoryTokenManager : IServiceProviderTokenManager, IOpenIdOAuthTokenManager, ICombinedOpenIdProviderTokenManager { - private Dictionary<string, InMemoryServiceProviderRequestToken> requestTokens = new Dictionary<string, InMemoryServiceProviderRequestToken>(); - private Dictionary<string, InMemoryServiceProviderAccessToken> accessTokens = new Dictionary<string, InMemoryServiceProviderAccessToken>(); - - /// <summary> - /// Initializes a new instance of the <see cref="InMemoryTokenManager"/> class. - /// </summary> - internal InMemoryTokenManager() { - } - - #region IServiceProviderTokenManager Members - - public IConsumerDescription GetConsumer(string consumerKey) { - return new InMemoryConsumerDescription { - Key = consumerKey, - Secret = "some crazy secret", - }; - } - - public IServiceProviderRequestToken GetRequestToken(string token) { - return this.requestTokens[token]; - } - - public IServiceProviderAccessToken GetAccessToken(string token) { - throw new NotImplementedException(); - } - - public void UpdateToken(IServiceProviderRequestToken token) { - // Nothing to do here, since there's no database in this sample. - } - - #endregion - - #region ITokenManager Members - - public string GetTokenSecret(string token) { - if (this.requestTokens.ContainsKey(token)) { - return this.requestTokens[token].Secret; - } else { - return this.accessTokens[token].Secret; - } - } - - public void StoreNewRequestToken(DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest request, DotNetOpenAuth.OAuth.Messages.ITokenSecretContainingMessage response) { - throw new NotImplementedException(); - } - - public bool IsRequestTokenAuthorized(string requestToken) { - // In OpenID+OAuth scenarios, request tokens are always authorized. - return true; - } - - public void ExpireRequestTokenAndStoreNewAccessToken(string consumerKey, string requestToken, string accessToken, string accessTokenSecret) { - this.requestTokens.Remove(requestToken); - this.accessTokens[accessToken] = new InMemoryServiceProviderAccessToken { - Token = accessToken, - Secret = accessTokenSecret, - }; - } - - public TokenType GetTokenType(string token) { - if (this.requestTokens.ContainsKey(token)) { - return TokenType.RequestToken; - } else if (this.accessTokens.ContainsKey(token)) { - return TokenType.AccessToken; - } else { - return TokenType.InvalidToken; - } - } - - #endregion - - #region IOpenIdOAuthTokenManager Members - - public void StoreOpenIdAuthorizedRequestToken(string consumerKey, AuthorizationApprovedResponse authorization) { - this.requestTokens[authorization.RequestToken] = new InMemoryServiceProviderRequestToken { - Token = authorization.RequestToken, - Scope = authorization.Scope, - ConsumerVersion = authorization.Version, - }; - } - - #endregion - - #region ICombinedOpenIdProviderTokenManager Members - - public string GetConsumerKey(DotNetOpenAuth.OpenId.Realm realm) { - // We just use the realm as the consumer key, like Google does. - return realm; - } - - #endregion - } -} diff --git a/src/OpenID/OpenIdProviderWebForms/Code/OAuthHybrid.cs b/src/OpenID/OpenIdProviderWebForms/Code/OAuthHybrid.cs deleted file mode 100644 index 8e64bfb..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/OAuthHybrid.cs +++ /dev/null @@ -1,46 +0,0 @@ -//----------------------------------------------------------------------- -// <copyright file="OAuthHybrid.cs" company="Outercurve Foundation"> -// Copyright (c) Outercurve Foundation. All rights reserved. -// </copyright> -//----------------------------------------------------------------------- - -namespace OpenIdProviderWebForms.Code { - using System; - using System.Collections.Generic; - using System.Linq; - using System.Web; - using DotNetOpenAuth.Messaging; - using DotNetOpenAuth.OAuth; - using DotNetOpenAuth.OAuth.ChannelElements; - - internal class OAuthHybrid { - /// <summary> - /// Initializes static members of the <see cref="OAuthHybrid"/> class. - /// </summary> - static OAuthHybrid() { - ServiceProvider = new ServiceProviderOpenIdProvider(GetServiceDescription(), TokenManager); - } - - internal static IServiceProviderTokenManager TokenManager { - get { - // This is merely a sample app. A real web app SHOULD NEVER store a memory-only - // token manager in application. It should be an IServiceProviderTokenManager - // implementation that is bound to a database. - var tokenManager = (IServiceProviderTokenManager)HttpContext.Current.Application["TokenManager"]; - if (tokenManager == null) { - HttpContext.Current.Application["TokenManager"] = tokenManager = new InMemoryTokenManager(); - } - - return tokenManager; - } - } - - internal static ServiceProviderOpenIdProvider ServiceProvider { get; private set; } - - internal static ServiceProviderDescription GetServiceDescription() { - return new ServiceProviderDescription { - TamperProtectionElements = new ITamperProtectionChannelBindingElement[] { new HmacSha1SigningBindingElement() }, - }; - } - } -} diff --git a/src/OpenID/OpenIdProviderWebForms/Code/ReadOnlyXmlMembershipProvider.cs b/src/OpenID/OpenIdProviderWebForms/Code/ReadOnlyXmlMembershipProvider.cs deleted file mode 100644 index 54db5c0..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/ReadOnlyXmlMembershipProvider.cs +++ /dev/null @@ -1,270 +0,0 @@ -namespace OpenIdProviderWebForms.Code { - using System; - using System.Collections.Generic; - using System.Collections.Specialized; - using System.Configuration.Provider; - using System.Security.Permissions; - using System.Web; - using System.Web.Hosting; - using System.Web.Security; - using System.Xml; - - public class ReadOnlyXmlMembershipProvider : MembershipProvider { - private Dictionary<string, MembershipUser> users; - private string xmlFileName; - - // MembershipProvider Properties - public override string ApplicationName { - get { throw new NotSupportedException(); } - set { throw new NotSupportedException(); } - } - - public override bool EnablePasswordRetrieval { - get { return false; } - } - - public override bool EnablePasswordReset { - get { return false; } - } - - public override int MaxInvalidPasswordAttempts { - get { throw new NotSupportedException(); } - } - - public override int MinRequiredNonAlphanumericCharacters { - get { throw new NotSupportedException(); } - } - - public override int MinRequiredPasswordLength { - get { throw new NotSupportedException(); } - } - - public override int PasswordAttemptWindow { - get { throw new NotSupportedException(); } - } - - public override MembershipPasswordFormat PasswordFormat { - get { throw new NotSupportedException(); } - } - - public override string PasswordStrengthRegularExpression { - get { throw new NotSupportedException(); } - } - - public override bool RequiresQuestionAndAnswer { - get { throw new NotSupportedException(); } - } - - public override bool RequiresUniqueEmail { - get { throw new NotSupportedException(); } - } - - // MembershipProvider Methods - public override void Initialize(string name, NameValueCollection config) { - // Verify that config isn't null - if (config == null) { - throw new ArgumentNullException("config"); - } - - // Assign the provider a default name if it doesn't have one - if (string.IsNullOrEmpty(name)) { - name = "ReadOnlyXmlMembershipProvider"; - } - - // Add a default "description" attribute to config if the - // attribute doesn't exist or is empty - if (string.IsNullOrEmpty(config["description"])) { - config.Remove("description"); - config.Add("description", "Read-only XML membership provider"); - } - - // Call the base class's Initialize method - base.Initialize(name, config); - - // Initialize _XmlFileName and make sure the path - // is app-relative - string path = config["xmlFileName"]; - - if (string.IsNullOrEmpty(path)) { - path = "~/App_Data/Users.xml"; - } - - if (!VirtualPathUtility.IsAppRelative(path)) { - throw new ArgumentException("xmlFileName must be app-relative"); - } - - string fullyQualifiedPath = VirtualPathUtility.Combine( - VirtualPathUtility.AppendTrailingSlash(HttpRuntime.AppDomainAppVirtualPath), - path); - - this.xmlFileName = HostingEnvironment.MapPath(fullyQualifiedPath); - config.Remove("xmlFileName"); - - // Make sure we have permission to read the XML data source and - // throw an exception if we don't - FileIOPermission permission = new FileIOPermission(FileIOPermissionAccess.Read, this.xmlFileName); - permission.Demand(); - - // Throw an exception if unrecognized attributes remain - if (config.Count > 0) { - string attr = config.GetKey(0); - if (!string.IsNullOrEmpty(attr)) { - throw new ProviderException("Unrecognized attribute: " + attr); - } - } - } - - public override bool ValidateUser(string username, string password) { - // Validate input parameters - if (string.IsNullOrEmpty(username) || - string.IsNullOrEmpty(password)) { - return false; - } - - try { - // Make sure the data source has been loaded - this.ReadMembershipDataStore(); - - // Validate the user name and password - MembershipUser user; - if (this.users.TryGetValue(username, out user)) { - if (user.Comment == password) { // Case-sensitive - // NOTE: A read/write membership provider - // would update the user's LastLoginDate here. - // A fully featured provider would also fire - // an AuditMembershipAuthenticationSuccess - // Web event - return true; - } - } - - // NOTE: A fully featured membership provider would - // fire an AuditMembershipAuthenticationFailure - // Web event here - return false; - } catch (Exception) { - return false; - } - } - - public override MembershipUser GetUser(string username, bool userIsOnline) { - // Note: This implementation ignores userIsOnline - - // Validate input parameters - if (string.IsNullOrEmpty(username)) { - return null; - } - - // Make sure the data source has been loaded - this.ReadMembershipDataStore(); - - // Retrieve the user from the data source - MembershipUser user; - if (this.users.TryGetValue(username, out user)) { - return user; - } - - return null; - } - - public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords) { - // Note: This implementation ignores pageIndex and pageSize, - // and it doesn't sort the MembershipUser objects returned - - // Make sure the data source has been loaded - this.ReadMembershipDataStore(); - - MembershipUserCollection users = new MembershipUserCollection(); - - foreach (KeyValuePair<string, MembershipUser> pair in this.users) { - users.Add(pair.Value); - } - - totalRecords = users.Count; - return users; - } - - public override int GetNumberOfUsersOnline() { - throw new NotSupportedException(); - } - - public override bool ChangePassword(string username, string oldPassword, string newPassword) { - throw new NotSupportedException(); - } - - public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer) { - throw new NotSupportedException(); - } - - public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { - throw new NotSupportedException(); - } - - public override bool DeleteUser(string username, bool deleteAllRelatedData) { - throw new NotSupportedException(); - } - - public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) { - throw new NotSupportedException(); - } - - public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) { - throw new NotSupportedException(); - } - - public override string GetPassword(string username, string answer) { - throw new NotSupportedException(); - } - - public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) { - throw new NotSupportedException(); - } - - public override string GetUserNameByEmail(string email) { - throw new NotSupportedException(); - } - - public override string ResetPassword(string username, string answer) { - throw new NotSupportedException(); - } - - public override bool UnlockUser(string userName) { - throw new NotSupportedException(); - } - - public override void UpdateUser(MembershipUser user) { - throw new NotSupportedException(); - } - - // Helper method - private void ReadMembershipDataStore() { - lock (this) { - if (this.users == null) { - this.users = new Dictionary<string, MembershipUser>(16, StringComparer.InvariantCultureIgnoreCase); - XmlDocument doc = new XmlDocument(); - doc.Load(this.xmlFileName); - XmlNodeList nodes = doc.GetElementsByTagName("User"); - - foreach (XmlNode node in nodes) { - MembershipUser user = new MembershipUser( - Name, // Provider name - node["UserName"].InnerText, // Username - null, // providerUserKey - null, // Email - string.Empty, // passwordQuestion - node["Password"].InnerText, // Comment - true, // isApproved - false, // isLockedOut - DateTime.Now, // creationDate - DateTime.Now, // lastLoginDate - DateTime.Now, // lastActivityDate - DateTime.Now, // lastPasswordChangedDate - new DateTime(1980, 1, 1)); // lastLockoutDate - - this.users.Add(user.UserName, user); - } - } - } - } - } -}
\ No newline at end of file diff --git a/src/OpenID/OpenIdProviderWebForms/Code/TracePageAppender.cs b/src/OpenID/OpenIdProviderWebForms/Code/TracePageAppender.cs deleted file mode 100644 index 1bb7a34..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/TracePageAppender.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace OpenIdProviderWebForms.Code { - using System; - using System.Collections.Generic; - using System.IO; - using System.Web; - - public class TracePageAppender : log4net.Appender.AppenderSkeleton { - protected override void Append(log4net.Core.LoggingEvent loggingEvent) { - StringWriter sw = new StringWriter(Global.LogMessages); - Layout.Format(sw, loggingEvent); - } - } -} diff --git a/src/OpenID/OpenIdProviderWebForms/Code/Util.cs b/src/OpenID/OpenIdProviderWebForms/Code/Util.cs deleted file mode 100644 index deff447..0000000 --- a/src/OpenID/OpenIdProviderWebForms/Code/Util.cs +++ /dev/null @@ -1,75 +0,0 @@ -//----------------------------------------------------------------------- -// <copyright file="Util.cs" company="Outercurve Foundation"> -// Copyright (c) Outercurve Foundation. All rights reserved. -// </copyright> -//----------------------------------------------------------------------- - -namespace OpenIdProviderWebForms.Code { - using System; - using System.Web; - using DotNetOpenAuth.OpenId; - using DotNetOpenAuth.OpenId.Provider; - - public class Util { - public static string ExtractUserName(Uri url) { - return url.Segments[url.Segments.Length - 1]; - } - - public static string ExtractUserName(Identifier identifier) { - return ExtractUserName(new Uri(identifier.ToString())); - } - - public static Identifier BuildIdentityUrl() { - return BuildIdentityUrl(HttpContext.Current.User.Identity.Name); - } - - public static Identifier BuildIdentityUrl(string username) { - // This sample Provider has a custom policy for normalizing URIs, which is that the whole - // path of the URI be lowercase except for the first letter of the username. - username = username.Substring(0, 1).ToUpperInvariant() + username.Substring(1).ToLowerInvariant(); - return new Uri(HttpContext.Current.Request.Url, HttpContext.Current.Response.ApplyAppPathModifier("~/user.aspx/" + username)); - } - - internal static void ProcessAuthenticationChallenge(IAuthenticationRequest idrequest) { - if (idrequest.Immediate) { - if (idrequest.IsDirectedIdentity) { - if (HttpContext.Current.User.Identity.IsAuthenticated) { - idrequest.LocalIdentifier = Util.BuildIdentityUrl(); - idrequest.IsAuthenticated = true; - } else { - idrequest.IsAuthenticated = false; - } - } else { - string userOwningOpenIdUrl = Util.ExtractUserName(idrequest.LocalIdentifier); - - // NOTE: in a production provider site, you may want to only - // respond affirmatively if the user has already authorized this consumer - // to know the answer. - idrequest.IsAuthenticated = userOwningOpenIdUrl == HttpContext.Current.User.Identity.Name; - } - - if (idrequest.IsAuthenticated.Value) { - // add extension responses here. - } - } else { - HttpContext.Current.Response.Redirect("~/decide.aspx", true); - } - } - - internal static void ProcessAnonymousRequest(IAnonymousRequest request) { - if (request.Immediate) { - // NOTE: in a production provider site, you may want to only - // respond affirmatively if the user has already authorized this consumer - // to know the answer. - request.IsApproved = HttpContext.Current.User.Identity.IsAuthenticated; - - if (request.IsApproved.Value) { - // Add extension responses here. - // These would typically be filled in from a user database - } - } else { - HttpContext.Current.Response.Redirect("~/decide.aspx", true); - } - } - } -}
\ No newline at end of file |