summaryrefslogtreecommitdiffstats
path: root/samples/OAuthConsumer
diff options
context:
space:
mode:
Diffstat (limited to 'samples/OAuthConsumer')
-rw-r--r--samples/OAuthConsumer/Code/Logging.cs22
-rw-r--r--samples/OAuthConsumer/Code/TracePageAppender.cs13
-rw-r--r--samples/OAuthConsumer/Default.aspx14
-rw-r--r--samples/OAuthConsumer/Global.asax1
-rw-r--r--samples/OAuthConsumer/Global.asax.cs35
-rw-r--r--samples/OAuthConsumer/GoogleAddressBook.aspx26
-rw-r--r--samples/OAuthConsumer/GoogleAddressBook.aspx.cs75
-rw-r--r--samples/OAuthConsumer/GoogleAddressBook.aspx.designer.cs42
-rw-r--r--samples/OAuthConsumer/MasterPage.master23
-rw-r--r--samples/OAuthConsumer/OAuthConsumer.csproj192
-rw-r--r--samples/OAuthConsumer/Properties/AssemblyInfo.cs35
-rw-r--r--samples/OAuthConsumer/SampleWcf.aspx23
-rw-r--r--samples/OAuthConsumer/SampleWcf.aspx.cs119
-rw-r--r--samples/OAuthConsumer/SampleWcf.aspx.designer.cs96
-rw-r--r--samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.disco4
-rw-r--r--samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.wsdl310
-rw-r--r--samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.xsd40
-rw-r--r--samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi1.xsd42
-rw-r--r--samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi2.xsd9
-rw-r--r--samples/OAuthConsumer/Service References/SampleServiceProvider/Reference.cs67
-rw-r--r--samples/OAuthConsumer/Service References/SampleServiceProvider/Reference.svcmap34
-rw-r--r--samples/OAuthConsumer/Service References/SampleServiceProvider/configuration.svcinfo10
-rw-r--r--samples/OAuthConsumer/Service References/SampleServiceProvider/configuration91.svcinfo216
-rw-r--r--samples/OAuthConsumer/Settings.StyleCop1
-rw-r--r--samples/OAuthConsumer/SignInWithTwitter.aspx38
-rw-r--r--samples/OAuthConsumer/SignInWithTwitter.aspx.cs39
-rw-r--r--samples/OAuthConsumer/SignInWithTwitter.aspx.designer.cs87
-rw-r--r--samples/OAuthConsumer/TracePage.aspx18
-rw-r--r--samples/OAuthConsumer/TracePage.aspx.cs23
-rw-r--r--samples/OAuthConsumer/TracePage.aspx.designer.cs42
-rw-r--r--samples/OAuthConsumer/Twitter.aspx35
-rw-r--r--samples/OAuthConsumer/Twitter.aspx.cs96
-rw-r--r--samples/OAuthConsumer/Twitter.aspx.designer.cs78
-rw-r--r--samples/OAuthConsumer/Web.config202
-rw-r--r--samples/OAuthConsumer/Yammer.aspx48
-rw-r--r--samples/OAuthConsumer/Yammer.aspx.cs76
-rw-r--r--samples/OAuthConsumer/Yammer.aspx.designer.cs123
-rw-r--r--samples/OAuthConsumer/favicon.icobin1150 -> 0 bytes
-rw-r--r--samples/OAuthConsumer/images/Sign-in-with-Twitter-darker.pngbin2370 -> 0 bytes
39 files changed, 0 insertions, 2354 deletions
diff --git a/samples/OAuthConsumer/Code/Logging.cs b/samples/OAuthConsumer/Code/Logging.cs
deleted file mode 100644
index 510ea85..0000000
--- a/samples/OAuthConsumer/Code/Logging.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace OAuthConsumer {
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Web;
-
- /// <summary>
- /// Logging tools for this sample.
- /// </summary>
- public static class Logging {
- /// <summary>
- /// An application memory cache of recent log messages.
- /// </summary>
- public static StringBuilder LogMessages = new StringBuilder();
-
- /// <summary>
- /// The logger for this sample to use.
- /// </summary>
- public static log4net.ILog Logger = log4net.LogManager.GetLogger("DotNetOpenAuth.OAuthConsumer");
- }
-} \ No newline at end of file
diff --git a/samples/OAuthConsumer/Code/TracePageAppender.cs b/samples/OAuthConsumer/Code/TracePageAppender.cs
deleted file mode 100644
index 5d3ba36..0000000
--- a/samples/OAuthConsumer/Code/TracePageAppender.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace OAuthConsumer {
- 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(Logging.LogMessages);
- Layout.Format(sw, loggingEvent);
- }
- }
-} \ No newline at end of file
diff --git a/samples/OAuthConsumer/Default.aspx b/samples/OAuthConsumer/Default.aspx
deleted file mode 100644
index c952877..0000000
--- a/samples/OAuthConsumer/Default.aspx
+++ /dev/null
@@ -1,14 +0,0 @@
-<%@ Page Title="DotNetOpenAuth Consumer samples" Language="C#" MasterPageFile="~/MasterPage.master"
- AutoEventWireup="true" %>
-
-<asp:Content ID="Content2" ContentPlaceHolderID="Body" runat="Server">
- <p>OAuth allows this web site to access your private data with your authorization, but
- without you having to give up your password. </p>
- <p>Select a demo:</p>
- <ul>
- <li><a href="GoogleAddressBook.aspx">Download your Gmail address book</a></li>
- <li><a href="Twitter.aspx">Get your Twitter updates</a></li>
- <li><a href="SignInWithTwitter.aspx">Sign In With Twitter</a></li>
- <li><a href="SampleWcf.aspx">Interop with Service Provider sample using WCF w/ OAuth</a></li>
- </ul>
-</asp:Content>
diff --git a/samples/OAuthConsumer/Global.asax b/samples/OAuthConsumer/Global.asax
deleted file mode 100644
index 06ffcd8..0000000
--- a/samples/OAuthConsumer/Global.asax
+++ /dev/null
@@ -1 +0,0 @@
-<%@ Application Language="C#" Inherits="OAuthConsumer.Global" CodeBehind="Global.asax.cs" %>
diff --git a/samples/OAuthConsumer/Global.asax.cs b/samples/OAuthConsumer/Global.asax.cs
deleted file mode 100644
index 10f297e..0000000
--- a/samples/OAuthConsumer/Global.asax.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-namespace OAuthConsumer {
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
-
- public partial class Global : HttpApplication {
- protected void Application_Start(object sender, EventArgs e) {
- log4net.Config.XmlConfigurator.Configure();
- Logging.Logger.Info("Sample starting...");
- }
-
- protected void Application_End(object sender, EventArgs e) {
- Logging.Logger.Info("Sample shutting down...");
-
- // this would be automatic, but in partial trust scenarios it is not.
- log4net.LogManager.Shutdown();
- }
-
- protected void Application_Error(object sender, EventArgs e) {
- Logging.Logger.ErrorFormat("An unhandled exception was raised. Details follow: {0}", HttpContext.Current.Server.GetLastError());
- }
-
- protected void Session_Start(object sender, EventArgs e) {
- // Code that runs when a new session is started
- }
-
- protected void Session_End(object sender, EventArgs e) {
- // Code that runs when a session ends.
- // Note: The Session_End event is raised only when the sessionstate mode
- // is set to InProc in the Web.config file. If session mode is set to StateServer
- // or SQLServer, the event is not raised.
- }
- }
-} \ No newline at end of file
diff --git a/samples/OAuthConsumer/GoogleAddressBook.aspx b/samples/OAuthConsumer/GoogleAddressBook.aspx
deleted file mode 100644
index 19fb505..0000000
--- a/samples/OAuthConsumer/GoogleAddressBook.aspx
+++ /dev/null
@@ -1,26 +0,0 @@
-<%@ Page Title="Gmail address book demo" Language="C#" MasterPageFile="~/MasterPage.master"
- AutoEventWireup="true" Inherits="OAuthConsumer.GoogleAddressBook" Codebehind="GoogleAddressBook.aspx.cs" %>
-
-<asp:Content ID="Content2" ContentPlaceHolderID="Body" runat="Server">
- <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
- <asp:View runat="server">
- <h2>Google setup</h2>
- <p>A Google client app must be endorsed by a Google user. </p>
- <ol>
- <li><a target="_blank" href="https://www.google.com/accounts/ManageDomains">Visit Google
- and create a client app</a>. </li>
- <li>Modify your web.config file to include your consumer key and consumer secret.
- </li>
- </ol>
- </asp:View>
- <asp:View runat="server">
- <h2>Updates</h2>
- <p>Ok, Google has authorized us to download your contacts. Click &#39;Get address book&#39;
- to download the first 5 contacts to this sample. Notice how we never asked you
- for your Google username or password. </p>
- <asp:Button ID="getAddressBookButton" runat="server" OnClick="getAddressBookButton_Click"
- Text="Get address book" />
- <asp:PlaceHolder ID="resultsPlaceholder" runat="server" />
- </asp:View>
- </asp:MultiView>
-</asp:Content>
diff --git a/samples/OAuthConsumer/GoogleAddressBook.aspx.cs b/samples/OAuthConsumer/GoogleAddressBook.aspx.cs
deleted file mode 100644
index ddca7e4..0000000
--- a/samples/OAuthConsumer/GoogleAddressBook.aspx.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-namespace OAuthConsumer {
- using System;
- using System.Configuration;
- using System.Linq;
- using System.Text;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Xml.Linq;
- using DotNetOpenAuth.ApplicationBlock;
- using DotNetOpenAuth.OAuth;
-
- /// <summary>
- /// A page to demonstrate downloading a Gmail address book using OAuth.
- /// </summary>
- public partial class GoogleAddressBook : System.Web.UI.Page {
- private string AccessToken {
- get { return (string)Session["GoogleAccessToken"]; }
- set { Session["GoogleAccessToken"] = value; }
- }
-
- private InMemoryTokenManager TokenManager {
- get {
- var tokenManager = (InMemoryTokenManager)Application["GoogleTokenManager"];
- if (tokenManager == null) {
- string consumerKey = ConfigurationManager.AppSettings["googleConsumerKey"];
- string consumerSecret = ConfigurationManager.AppSettings["googleConsumerSecret"];
- if (!string.IsNullOrEmpty(consumerKey)) {
- tokenManager = new InMemoryTokenManager(consumerKey, consumerSecret);
- Application["GoogleTokenManager"] = tokenManager;
- }
- }
-
- return tokenManager;
- }
- }
-
- protected void Page_Load(object sender, EventArgs e) {
- if (this.TokenManager != null) {
- this.MultiView1.ActiveViewIndex = 1;
-
- if (!IsPostBack) {
- var google = new WebConsumer(GoogleConsumer.ServiceDescription, this.TokenManager);
-
- // Is Google calling back with authorization?
- var accessTokenResponse = google.ProcessUserAuthorization();
- if (accessTokenResponse != null) {
- this.AccessToken = accessTokenResponse.AccessToken;
- } else if (this.AccessToken == null) {
- // If we don't yet have access, immediately request it.
- GoogleConsumer.RequestAuthorization(google, GoogleConsumer.Applications.Contacts);
- }
- }
- }
- }
-
- protected void getAddressBookButton_Click(object sender, EventArgs e) {
- var google = new WebConsumer(GoogleConsumer.ServiceDescription, this.TokenManager);
-
- XDocument contactsDocument = GoogleConsumer.GetContacts(google, this.AccessToken, 5, 1);
- var contacts = from entry in contactsDocument.Root.Elements(XName.Get("entry", "http://www.w3.org/2005/Atom"))
- select new { Name = entry.Element(XName.Get("title", "http://www.w3.org/2005/Atom")).Value, Email = entry.Element(XName.Get("email", "http://schemas.google.com/g/2005")).Attribute("address").Value };
- StringBuilder tableBuilder = new StringBuilder();
- tableBuilder.Append("<table><tr><td>Name</td><td>Email</td></tr>");
- foreach (var contact in contacts) {
- tableBuilder.AppendFormat(
- "<tr><td>{0}</td><td>{1}</td></tr>",
- HttpUtility.HtmlEncode(contact.Name),
- HttpUtility.HtmlEncode(contact.Email));
- }
- tableBuilder.Append("</table>");
- this.resultsPlaceholder.Controls.Add(new Literal { Text = tableBuilder.ToString() });
- }
- }
-} \ No newline at end of file
diff --git a/samples/OAuthConsumer/GoogleAddressBook.aspx.designer.cs b/samples/OAuthConsumer/GoogleAddressBook.aspx.designer.cs
deleted file mode 100644
index 64558d5..0000000
--- a/samples/OAuthConsumer/GoogleAddressBook.aspx.designer.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OAuthConsumer {
-
-
- public partial class GoogleAddressBook {
-
- /// <summary>
- /// MultiView1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.MultiView MultiView1;
-
- /// <summary>
- /// getAddressBookButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button getAddressBookButton;
-
- /// <summary>
- /// resultsPlaceholder control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.PlaceHolder resultsPlaceholder;
- }
-}
diff --git a/samples/OAuthConsumer/MasterPage.master b/samples/OAuthConsumer/MasterPage.master
deleted file mode 100644
index 0044208..0000000
--- a/samples/OAuthConsumer/MasterPage.master
+++ /dev/null
@@ -1,23 +0,0 @@
-<%@ Master Language="C#" %>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<script runat="server">
-
-</script>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head runat="server">
- <title>DotNetOpenAuth Consumer sample</title>
- <asp:ContentPlaceHolder ID="head" runat="server"/>
-</head>
-<body>
- <form id="form1" runat="server">
- <h1>DotNetOpenAuth Consumer ASP.NET WebForms sample</h1>
- <div>
- <asp:ContentPlaceHolder ID="Body" runat="server">
- </asp:ContentPlaceHolder>
- </div>
- </form>
-</body>
-</html>
diff --git a/samples/OAuthConsumer/OAuthConsumer.csproj b/samples/OAuthConsumer/OAuthConsumer.csproj
deleted file mode 100644
index 284b8e9..0000000
--- a/samples/OAuthConsumer/OAuthConsumer.csproj
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))' != '' " />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>
- </ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{9529606E-AF76-4387-BFB7-3D10A5B399AA}</ProjectGuid>
- <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>OAuthConsumer</RootNamespace>
- <AssemblyName>OAuthConsumer</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <TargetFrameworkProfile />
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\</OutputPath>
- <DefineConstants>TRACE;DEBUG</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup>
- <DefineConstants>$(DefineConstants);SAMPLESONLY</DefineConstants>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="log4net">
- <HintPath>..\..\lib\log4net.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Data" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="System.Runtime.Serialization" />
- <Reference Include="System.ServiceModel" />
- <Reference Include="System.Web.Extensions" />
- <Reference Include="System.Drawing" />
- <Reference Include="System.Web" />
- <Reference Include="System.Xml" />
- <Reference Include="System.Configuration" />
- <Reference Include="System.Web.Services" />
- <Reference Include="System.EnterpriseServices" />
- <Reference Include="System.Web.DynamicData" />
- <Reference Include="System.Web.Entity" />
- <Reference Include="System.Xml.Linq" />
- </ItemGroup>
- <ItemGroup>
- <Content Include="Default.aspx" />
- <Content Include="favicon.ico" />
- <Content Include="Global.asax" />
- <Content Include="GoogleAddressBook.aspx" />
- <Content Include="images\Sign-in-with-Twitter-darker.png" />
- <Content Include="SampleWcf.aspx" />
- <Content Include="Yammer.aspx" />
- <None Include="Service References\SampleServiceProvider\DataApi.disco" />
- <None Include="Service References\SampleServiceProvider\configuration91.svcinfo" />
- <None Include="Service References\SampleServiceProvider\configuration.svcinfo" />
- <None Include="Service References\SampleServiceProvider\Reference.svcmap">
- <Generator>WCF Proxy Generator</Generator>
- <LastGenOutput>Reference.cs</LastGenOutput>
- </None>
- <Content Include="SignInWithTwitter.aspx" />
- <Content Include="TracePage.aspx" />
- <Content Include="Twitter.aspx" />
- <Content Include="Web.config" />
- <None Include="Service References\SampleServiceProvider\DataApi1.xsd">
- <SubType>Designer</SubType>
- </None>
- <None Include="Service References\SampleServiceProvider\DataApi2.xsd">
- <SubType>Designer</SubType>
- </None>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="..\DotNetOpenAuth.ApplicationBlock\InMemoryTokenManager.cs">
- <Link>Code\InMemoryTokenManager.cs</Link>
- </Compile>
- <Compile Include="Global.asax.cs">
- <DependentUpon>Global.asax</DependentUpon>
- </Compile>
- <Compile Include="GoogleAddressBook.aspx.designer.cs">
- <DependentUpon>GoogleAddressBook.aspx</DependentUpon>
- </Compile>
- <Compile Include="SampleWcf.aspx.cs">
- <DependentUpon>SampleWcf.aspx</DependentUpon>
- <SubType>ASPXCodeBehind</SubType>
- </Compile>
- <Compile Include="SampleWcf.aspx.designer.cs">
- <DependentUpon>SampleWcf.aspx</DependentUpon>
- </Compile>
- <Compile Include="Service References\SampleServiceProvider\Reference.cs">
- <AutoGen>True</AutoGen>
- <DesignTime>True</DesignTime>
- <DependentUpon>Reference.svcmap</DependentUpon>
- </Compile>
- <Compile Include="SignInWithTwitter.aspx.cs">
- <DependentUpon>SignInWithTwitter.aspx</DependentUpon>
- <SubType>ASPXCodeBehind</SubType>
- </Compile>
- <Compile Include="SignInWithTwitter.aspx.designer.cs">
- <DependentUpon>SignInWithTwitter.aspx</DependentUpon>
- </Compile>
- <Compile Include="TracePage.aspx.cs">
- <DependentUpon>TracePage.aspx</DependentUpon>
- <SubType>ASPXCodeBehind</SubType>
- </Compile>
- <Compile Include="TracePage.aspx.designer.cs">
- <DependentUpon>TracePage.aspx</DependentUpon>
- </Compile>
- <Compile Include="Twitter.aspx.cs">
- <DependentUpon>Twitter.aspx</DependentUpon>
- <SubType>ASPXCodeBehind</SubType>
- </Compile>
- <Compile Include="Code\Logging.cs" />
- <Compile Include="Code\TracePageAppender.cs" />
- <Compile Include="GoogleAddressBook.aspx.cs">
- <DependentUpon>GoogleAddressBook.aspx</DependentUpon>
- <SubType>ASPXCodeBehind</SubType>
- </Compile>
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="Twitter.aspx.designer.cs">
- <DependentUpon>Twitter.aspx</DependentUpon>
- </Compile>
- <Compile Include="Yammer.aspx.cs">
- <DependentUpon>Yammer.aspx</DependentUpon>
- <SubType>ASPXCodeBehind</SubType>
- </Compile>
- <Compile Include="Yammer.aspx.designer.cs">
- <DependentUpon>Yammer.aspx</DependentUpon>
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <Folder Include="App_Data\" />
- </ItemGroup>
- <ItemGroup>
- <Content Include="MasterPage.master" />
- <None Include="Service References\SampleServiceProvider\DataApi.wsdl" />
- <None Include="Service References\SampleServiceProvider\DataApi.xsd">
- <SubType>Designer</SubType>
- </None>
- <None Include="Settings.StyleCop" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\src\DotNetOpenAuth\DotNetOpenAuth.csproj">
- <Project>{3191B653-F76D-4C1A-9A5A-347BC3AAAAB7}</Project>
- <Name>DotNetOpenAuth</Name>
- </ProjectReference>
- <ProjectReference Include="..\DotNetOpenAuth.ApplicationBlock\DotNetOpenAuth.ApplicationBlock.csproj">
- <Project>{AA78D112-D889-414B-A7D4-467B34C7B663}</Project>
- <Name>DotNetOpenAuth.ApplicationBlock</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <WCFMetadata Include="Service References\" />
- </ItemGroup>
- <ItemGroup>
- <WCFMetadataStorage Include="Service References\SampleServiceProvider\" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
- <ProjectExtensions>
- <VisualStudio>
- <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
- <WebProjectProperties>
- <UseIIS>False</UseIIS>
- <AutoAssignPort>False</AutoAssignPort>
- <DevelopmentServerPort>59721</DevelopmentServerPort>
- <DevelopmentServerVPath>/</DevelopmentServerVPath>
- <IISUrl>
- </IISUrl>
- <NTLMAuthentication>False</NTLMAuthentication>
- <UseCustomServer>False</UseCustomServer>
- <CustomServerUrl>
- </CustomServerUrl>
- <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
- </WebProjectProperties>
- </FlavorProperties>
- </VisualStudio>
- </ProjectExtensions>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " />
-</Project> \ No newline at end of file
diff --git a/samples/OAuthConsumer/Properties/AssemblyInfo.cs b/samples/OAuthConsumer/Properties/AssemblyInfo.cs
deleted file mode 100644
index 35efa1c..0000000
--- a/samples/OAuthConsumer/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OAuthConsumer")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OAuthConsumer")]
-[assembly: AssemblyCopyright("Copyright © 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("12549916-9ec2-4cf6-9fe3-82ea1f6ea665")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/samples/OAuthConsumer/SampleWcf.aspx b/samples/OAuthConsumer/SampleWcf.aspx
deleted file mode 100644
index fb318ce..0000000
--- a/samples/OAuthConsumer/SampleWcf.aspx
+++ /dev/null
@@ -1,23 +0,0 @@
-<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" Inherits="OAuthConsumer.SampleWcf" Codebehind="SampleWcf.aspx.cs" %>
-
-<asp:Content ID="Content2" ContentPlaceHolderID="Body" runat="Server">
- <fieldset title="Authorization">
- <asp:CheckBoxList runat="server" ID="scopeList">
- <asp:ListItem Value="http://tempuri.org/IDataApi/GetName">GetName</asp:ListItem>
- <asp:ListItem Value="http://tempuri.org/IDataApi/GetAge">GetAge</asp:ListItem>
- <asp:ListItem Value="http://tempuri.org/IDataApi/GetFavoriteSites">GetFavoriteSites</asp:ListItem>
- </asp:CheckBoxList>
- <asp:Button ID="getAuthorizationButton" runat="server" Text="Get Authorization" OnClick="getAuthorizationButton_Click" />
- <asp:Label ID="authorizationLabel" runat="server" />
- </fieldset>
- <br />
- <asp:Button ID="getNameButton" runat="server" Text="Get Name" OnClick="getNameButton_Click" />
- <asp:Label ID="nameLabel" runat="server" />
- <br />
- <asp:Button ID="getAgeButton" runat="server" Text="Get Age" OnClick="getAgeButton_Click" />
- <asp:Label ID="ageLabel" runat="server" />
- <br />
- <asp:Button ID="getFavoriteSites" runat="server" Text="Get Favorite Sites"
- onclick="getFavoriteSites_Click" />
- <asp:Label ID="favoriteSitesLabel" runat="server" />
-</asp:Content>
diff --git a/samples/OAuthConsumer/SampleWcf.aspx.cs b/samples/OAuthConsumer/SampleWcf.aspx.cs
deleted file mode 100644
index 489e294..0000000
--- a/samples/OAuthConsumer/SampleWcf.aspx.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-namespace OAuthConsumer {
- using System;
- using System.Collections.Generic;
- using System.Globalization;
- using System.Linq;
- using System.Net;
- using System.ServiceModel;
- using System.ServiceModel.Channels;
- using System.ServiceModel.Security;
- using System.Web.UI.WebControls;
- using DotNetOpenAuth;
- using DotNetOpenAuth.ApplicationBlock;
- using DotNetOpenAuth.Messaging;
- using DotNetOpenAuth.OAuth;
- using DotNetOpenAuth.OAuth.ChannelElements;
- using OAuthConsumer.SampleServiceProvider;
-
- /// <summary>
- /// Sample consumer of our Service Provider sample's WCF service.
- /// </summary>
- public partial class SampleWcf : System.Web.UI.Page {
- protected void Page_Load(object sender, EventArgs e) {
- if (!IsPostBack) {
- if (Session["WcfTokenManager"] != null) {
- WebConsumer consumer = this.CreateConsumer();
- var accessTokenMessage = consumer.ProcessUserAuthorization();
- if (accessTokenMessage != null) {
- Session["WcfAccessToken"] = accessTokenMessage.AccessToken;
- this.authorizationLabel.Text = "Authorized! Access token: " + accessTokenMessage.AccessToken;
- }
- }
- }
- }
-
- protected void getAuthorizationButton_Click(object sender, EventArgs e) {
- WebConsumer consumer = this.CreateConsumer();
- UriBuilder callback = new UriBuilder(Request.Url);
- callback.Query = null;
- string[] scopes = (from item in this.scopeList.Items.OfType<ListItem>()
- where item.Selected
- select item.Value).ToArray();
- string scope = string.Join("|", scopes);
- var requestParams = new Dictionary<string, string> {
- { "scope", scope },
- };
- var response = consumer.PrepareRequestUserAuthorization(callback.Uri, requestParams, null);
- consumer.Channel.Send(response);
- }
-
- protected void getNameButton_Click(object sender, EventArgs e) {
- try {
- this.nameLabel.Text = CallService(client => client.GetName());
- } catch (SecurityAccessDeniedException) {
- this.nameLabel.Text = "Access denied!";
- }
- }
-
- protected void getAgeButton_Click(object sender, EventArgs e) {
- try {
- int? age = CallService(client => client.GetAge());
- this.ageLabel.Text = age.HasValue ? age.Value.ToString(CultureInfo.CurrentCulture) : "not available";
- } catch (SecurityAccessDeniedException) {
- this.ageLabel.Text = "Access denied!";
- }
- }
-
- protected void getFavoriteSites_Click(object sender, EventArgs e) {
- try {
- string[] favoriteSites = CallService(client => client.GetFavoriteSites());
- this.favoriteSitesLabel.Text = string.Join(", ", favoriteSites);
- } catch (SecurityAccessDeniedException) {
- this.favoriteSitesLabel.Text = "Access denied!";
- }
- }
-
- private T CallService<T>(Func<DataApiClient, T> predicate) {
- DataApiClient client = new DataApiClient();
- var serviceEndpoint = new MessageReceivingEndpoint(client.Endpoint.Address.Uri, HttpDeliveryMethods.AuthorizationHeaderRequest | HttpDeliveryMethods.PostRequest);
- var accessToken = Session["WcfAccessToken"] as string;
- if (accessToken == null) {
- throw new InvalidOperationException("No access token!");
- }
- WebConsumer consumer = this.CreateConsumer();
- WebRequest httpRequest = consumer.PrepareAuthorizedRequest(serviceEndpoint, accessToken);
-
- HttpRequestMessageProperty httpDetails = new HttpRequestMessageProperty();
- httpDetails.Headers[HttpRequestHeader.Authorization] = httpRequest.Headers[HttpRequestHeader.Authorization];
- using (OperationContextScope scope = new OperationContextScope(client.InnerChannel)) {
- OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpDetails;
- return predicate(client);
- }
- }
-
- private WebConsumer CreateConsumer() {
- string consumerKey = "sampleconsumer";
- string consumerSecret = "samplesecret";
- var tokenManager = Session["WcfTokenManager"] as InMemoryTokenManager;
- if (tokenManager == null) {
- tokenManager = new InMemoryTokenManager(consumerKey, consumerSecret);
- Session["WcfTokenManager"] = tokenManager;
- }
- MessageReceivingEndpoint oauthEndpoint = new MessageReceivingEndpoint(
- new Uri("http://localhost:65169/OAuth.ashx"),
- HttpDeliveryMethods.PostRequest);
- WebConsumer consumer = new WebConsumer(
- new ServiceProviderDescription {
- RequestTokenEndpoint = oauthEndpoint,
- UserAuthorizationEndpoint = oauthEndpoint,
- AccessTokenEndpoint = oauthEndpoint,
- TamperProtectionElements = new DotNetOpenAuth.Messaging.ITamperProtectionChannelBindingElement[] {
- new HmacSha1SigningBindingElement(),
- },
- },
- tokenManager);
-
- return consumer;
- }
- }
-} \ No newline at end of file
diff --git a/samples/OAuthConsumer/SampleWcf.aspx.designer.cs b/samples/OAuthConsumer/SampleWcf.aspx.designer.cs
deleted file mode 100644
index c041338..0000000
--- a/samples/OAuthConsumer/SampleWcf.aspx.designer.cs
+++ /dev/null
@@ -1,96 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OAuthConsumer {
-
-
- public partial class SampleWcf {
-
- /// <summary>
- /// scopeList control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.CheckBoxList scopeList;
-
- /// <summary>
- /// getAuthorizationButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button getAuthorizationButton;
-
- /// <summary>
- /// authorizationLabel control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Label authorizationLabel;
-
- /// <summary>
- /// getNameButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button getNameButton;
-
- /// <summary>
- /// nameLabel control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Label nameLabel;
-
- /// <summary>
- /// getAgeButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button getAgeButton;
-
- /// <summary>
- /// ageLabel control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Label ageLabel;
-
- /// <summary>
- /// getFavoriteSites control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button getFavoriteSites;
-
- /// <summary>
- /// favoriteSitesLabel control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Label favoriteSitesLabel;
- }
-}
diff --git a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.disco b/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.disco
deleted file mode 100644
index f8d5e5b..0000000
--- a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.disco
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
- <contractRef ref="http://localhost:65169/DataApi.svc?wsdl" docRef="http://localhost:65169/DataApi.svc" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
-</discovery> \ No newline at end of file
diff --git a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.wsdl b/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.wsdl
deleted file mode 100644
index 702762a..0000000
--- a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.wsdl
+++ /dev/null
@@ -1,310 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://tempuri.org/" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="DataApi" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
- <wsp:Policy wsu:Id="WSHttpBinding_IDataApi_policy">
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <wsp:Policy>
- <sp:ProtectionToken>
- <wsp:Policy>
- <sp:SecureConversationToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
- <wsp:Policy>
- <sp:RequireDerivedKeys />
- <sp:BootstrapPolicy>
- <wsp:Policy>
- <sp:SignedParts>
- <sp:Body />
- <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
- </sp:SignedParts>
- <sp:EncryptedParts>
- <sp:Body />
- </sp:EncryptedParts>
- <sp:SymmetricBinding>
- <wsp:Policy>
- <sp:ProtectionToken>
- <wsp:Policy>
- <sp:SpnegoContextToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
- <wsp:Policy>
- <sp:RequireDerivedKeys />
- </wsp:Policy>
- </sp:SpnegoContextToken>
- </wsp:Policy>
- </sp:ProtectionToken>
- <sp:AlgorithmSuite>
- <wsp:Policy>
- <sp:Basic256 />
- </wsp:Policy>
- </sp:AlgorithmSuite>
- <sp:Layout>
- <wsp:Policy>
- <sp:Strict />
- </wsp:Policy>
- </sp:Layout>
- <sp:IncludeTimestamp />
- <sp:EncryptSignature />
- <sp:OnlySignEntireHeadersAndBody />
- </wsp:Policy>
- </sp:SymmetricBinding>
- <sp:Wss11>
- <wsp:Policy>
- <sp:MustSupportRefKeyIdentifier />
- <sp:MustSupportRefIssuerSerial />
- <sp:MustSupportRefThumbprint />
- <sp:MustSupportRefEncryptedKey />
- </wsp:Policy>
- </sp:Wss11>
- <sp:Trust10>
- <wsp:Policy>
- <sp:MustSupportIssuedTokens />
- <sp:RequireClientEntropy />
- <sp:RequireServerEntropy />
- </wsp:Policy>
- </sp:Trust10>
- </wsp:Policy>
- </sp:BootstrapPolicy>
- </wsp:Policy>
- </sp:SecureConversationToken>
- </wsp:Policy>
- </sp:ProtectionToken>
- <sp:AlgorithmSuite>
- <wsp:Policy>
- <sp:Basic256 />
- </wsp:Policy>
- </sp:AlgorithmSuite>
- <sp:Layout>
- <wsp:Policy>
- <sp:Strict />
- </wsp:Policy>
- </sp:Layout>
- <sp:IncludeTimestamp />
- <sp:EncryptSignature />
- <sp:OnlySignEntireHeadersAndBody />
- </wsp:Policy>
- </sp:SymmetricBinding>
- <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <wsp:Policy>
- <sp:MustSupportRefKeyIdentifier />
- <sp:MustSupportRefIssuerSerial />
- <sp:MustSupportRefThumbprint />
- <sp:MustSupportRefEncryptedKey />
- </wsp:Policy>
- </sp:Wss11>
- <sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <wsp:Policy>
- <sp:MustSupportIssuedTokens />
- <sp:RequireClientEntropy />
- <sp:RequireServerEntropy />
- </wsp:Policy>
- </sp:Trust10>
- <wsaw:UsingAddressing />
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- <wsp:Policy wsu:Id="WSHttpBinding_IDataApi_GetAge_Input_policy">
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
- </sp:SignedParts>
- <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- </sp:EncryptedParts>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- <wsp:Policy wsu:Id="WSHttpBinding_IDataApi_GetAge_output_policy">
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
- </sp:SignedParts>
- <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- </sp:EncryptedParts>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- <wsp:Policy wsu:Id="WSHttpBinding_IDataApi_GetName_Input_policy">
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
- </sp:SignedParts>
- <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- </sp:EncryptedParts>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- <wsp:Policy wsu:Id="WSHttpBinding_IDataApi_GetName_output_policy">
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
- </sp:SignedParts>
- <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- </sp:EncryptedParts>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- <wsp:Policy wsu:Id="WSHttpBinding_IDataApi_GetFavoriteSites_Input_policy">
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
- </sp:SignedParts>
- <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- </sp:EncryptedParts>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- <wsp:Policy wsu:Id="WSHttpBinding_IDataApi_GetFavoriteSites_output_policy">
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
- <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
- </sp:SignedParts>
- <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
- <sp:Body />
- </sp:EncryptedParts>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- <wsdl:types>
- <xsd:schema targetNamespace="http://tempuri.org/Imports">
- <xsd:import schemaLocation="http://localhost:65169/DataApi.svc?xsd=xsd0" namespace="http://tempuri.org/" />
- <xsd:import schemaLocation="http://localhost:65169/DataApi.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
- <xsd:import schemaLocation="http://localhost:65169/DataApi.svc?xsd=xsd2" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
- </xsd:schema>
- </wsdl:types>
- <wsdl:message name="IDataApi_GetAge_InputMessage">
- <wsdl:part name="parameters" element="tns:GetAge" />
- </wsdl:message>
- <wsdl:message name="IDataApi_GetAge_OutputMessage">
- <wsdl:part name="parameters" element="tns:GetAgeResponse" />
- </wsdl:message>
- <wsdl:message name="IDataApi_GetName_InputMessage">
- <wsdl:part name="parameters" element="tns:GetName" />
- </wsdl:message>
- <wsdl:message name="IDataApi_GetName_OutputMessage">
- <wsdl:part name="parameters" element="tns:GetNameResponse" />
- </wsdl:message>
- <wsdl:message name="IDataApi_GetFavoriteSites_InputMessage">
- <wsdl:part name="parameters" element="tns:GetFavoriteSites" />
- </wsdl:message>
- <wsdl:message name="IDataApi_GetFavoriteSites_OutputMessage">
- <wsdl:part name="parameters" element="tns:GetFavoriteSitesResponse" />
- </wsdl:message>
- <wsdl:portType name="IDataApi">
- <wsdl:operation name="GetAge">
- <wsdl:input wsaw:Action="http://tempuri.org/IDataApi/GetAge" message="tns:IDataApi_GetAge_InputMessage" />
- <wsdl:output wsaw:Action="http://tempuri.org/IDataApi/GetAgeResponse" message="tns:IDataApi_GetAge_OutputMessage" />
- </wsdl:operation>
- <wsdl:operation name="GetName">
- <wsdl:input wsaw:Action="http://tempuri.org/IDataApi/GetName" message="tns:IDataApi_GetName_InputMessage" />
- <wsdl:output wsaw:Action="http://tempuri.org/IDataApi/GetNameResponse" message="tns:IDataApi_GetName_OutputMessage" />
- </wsdl:operation>
- <wsdl:operation name="GetFavoriteSites">
- <wsdl:input wsaw:Action="http://tempuri.org/IDataApi/GetFavoriteSites" message="tns:IDataApi_GetFavoriteSites_InputMessage" />
- <wsdl:output wsaw:Action="http://tempuri.org/IDataApi/GetFavoriteSitesResponse" message="tns:IDataApi_GetFavoriteSites_OutputMessage" />
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="WSHttpBinding_IDataApi" type="tns:IDataApi">
- <wsp:PolicyReference URI="#WSHttpBinding_IDataApi_policy" />
- <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="GetAge">
- <soap12:operation soapAction="http://tempuri.org/IDataApi/GetAge" style="document" />
- <wsdl:input>
- <wsp:PolicyReference URI="#WSHttpBinding_IDataApi_GetAge_Input_policy" />
- <soap12:body use="literal" />
- </wsdl:input>
- <wsdl:output>
- <wsp:PolicyReference URI="#WSHttpBinding_IDataApi_GetAge_output_policy" />
- <soap12:body use="literal" />
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="GetName">
- <soap12:operation soapAction="http://tempuri.org/IDataApi/GetName" style="document" />
- <wsdl:input>
- <wsp:PolicyReference URI="#WSHttpBinding_IDataApi_GetName_Input_policy" />
- <soap12:body use="literal" />
- </wsdl:input>
- <wsdl:output>
- <wsp:PolicyReference URI="#WSHttpBinding_IDataApi_GetName_output_policy" />
- <soap12:body use="literal" />
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="GetFavoriteSites">
- <soap12:operation soapAction="http://tempuri.org/IDataApi/GetFavoriteSites" style="document" />
- <wsdl:input>
- <wsp:PolicyReference URI="#WSHttpBinding_IDataApi_GetFavoriteSites_Input_policy" />
- <soap12:body use="literal" />
- </wsdl:input>
- <wsdl:output>
- <wsp:PolicyReference URI="#WSHttpBinding_IDataApi_GetFavoriteSites_output_policy" />
- <soap12:body use="literal" />
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="DataApi">
- <wsdl:port name="WSHttpBinding_IDataApi" binding="tns:WSHttpBinding_IDataApi">
- <soap12:address location="http://localhost:65169/DataApi.svc" />
- <wsa10:EndpointReference>
- <wsa10:Address>http://localhost:65169/DataApi.svc</wsa10:Address>
- <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
- <Dns>localhost</Dns>
- </Identity>
- </wsa10:EndpointReference>
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions> \ No newline at end of file
diff --git a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.xsd b/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.xsd
deleted file mode 100644
index 3109534..0000000
--- a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi.xsd
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:import schemaLocation="http://localhost:65169/DataApi.svc?xsd=xsd2" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
- <xs:element name="GetAge">
- <xs:complexType>
- <xs:sequence />
- </xs:complexType>
- </xs:element>
- <xs:element name="GetAgeResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" name="GetAgeResult" nillable="true" type="xs:int" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="GetName">
- <xs:complexType>
- <xs:sequence />
- </xs:complexType>
- </xs:element>
- <xs:element name="GetNameResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" name="GetNameResult" nillable="true" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="GetFavoriteSites">
- <xs:complexType>
- <xs:sequence />
- </xs:complexType>
- </xs:element>
- <xs:element name="GetFavoriteSitesResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetFavoriteSitesResult" nillable="true" type="q1:ArrayOfstring" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-</xs:schema> \ No newline at end of file
diff --git a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi1.xsd b/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi1.xsd
deleted file mode 100644
index d58e7f3..0000000
--- a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi1.xsd
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="anyType" nillable="true" type="xs:anyType" />
- <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
- <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
- <xs:element name="boolean" nillable="true" type="xs:boolean" />
- <xs:element name="byte" nillable="true" type="xs:byte" />
- <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
- <xs:element name="decimal" nillable="true" type="xs:decimal" />
- <xs:element name="double" nillable="true" type="xs:double" />
- <xs:element name="float" nillable="true" type="xs:float" />
- <xs:element name="int" nillable="true" type="xs:int" />
- <xs:element name="long" nillable="true" type="xs:long" />
- <xs:element name="QName" nillable="true" type="xs:QName" />
- <xs:element name="short" nillable="true" type="xs:short" />
- <xs:element name="string" nillable="true" type="xs:string" />
- <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
- <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
- <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
- <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
- <xs:element name="char" nillable="true" type="tns:char" />
- <xs:simpleType name="char">
- <xs:restriction base="xs:int" />
- </xs:simpleType>
- <xs:element name="duration" nillable="true" type="tns:duration" />
- <xs:simpleType name="duration">
- <xs:restriction base="xs:duration">
- <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
- <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
- <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
- </xs:restriction>
- </xs:simpleType>
- <xs:element name="guid" nillable="true" type="tns:guid" />
- <xs:simpleType name="guid">
- <xs:restriction base="xs:string">
- <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
- </xs:restriction>
- </xs:simpleType>
- <xs:attribute name="FactoryType" type="xs:QName" />
- <xs:attribute name="Id" type="xs:ID" />
- <xs:attribute name="Ref" type="xs:IDREF" />
-</xs:schema> \ No newline at end of file
diff --git a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi2.xsd b/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi2.xsd
deleted file mode 100644
index 04a74a4..0000000
--- a/samples/OAuthConsumer/Service References/SampleServiceProvider/DataApi2.xsd
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:complexType name="ArrayOfstring">
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
- <xs:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring" />
-</xs:schema> \ No newline at end of file
diff --git a/samples/OAuthConsumer/Service References/SampleServiceProvider/Reference.cs b/samples/OAuthConsumer/Service References/SampleServiceProvider/Reference.cs
deleted file mode 100644
index a1d1eae..0000000
--- a/samples/OAuthConsumer/Service References/SampleServiceProvider/Reference.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.1
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OAuthConsumer.SampleServiceProvider {
-
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
- [System.ServiceModel.ServiceContractAttribute(ConfigurationName="SampleServiceProvider.IDataApi")]
- public interface IDataApi {
-
- [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IDataApi/GetAge", ReplyAction="http://tempuri.org/IDataApi/GetAgeResponse")]
- System.Nullable<int> GetAge();
-
- [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IDataApi/GetName", ReplyAction="http://tempuri.org/IDataApi/GetNameResponse")]
- string GetName();
-
- [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IDataApi/GetFavoriteSites", ReplyAction="http://tempuri.org/IDataApi/GetFavoriteSitesResponse")]
- string[] GetFavoriteSites();
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
- public interface IDataApiChannel : OAuthConsumer.SampleServiceProvider.IDataApi, System.ServiceModel.IClientChannel {
- }
-
- [System.Diagnostics.DebuggerStepThroughAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
- public partial class DataApiClient : System.ServiceModel.ClientBase<OAuthConsumer.SampleServiceProvider.IDataApi>, OAuthConsumer.SampleServiceProvider.IDataApi {
-
- public DataApiClient() {
- }
-
- public DataApiClient(string endpointConfigurationName) :
- base(endpointConfigurationName) {
- }
-
- public DataApiClient(string endpointConfigurationName, string remoteAddress) :
- base(endpointConfigurationName, remoteAddress) {
- }
-
- public DataApiClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
- base(endpointConfigurationName, remoteAddress) {
- }
-
- public DataApiClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
- base(binding, remoteAddress) {
- }
-
- public System.Nullable<int> GetAge() {
- return base.Channel.GetAge();
- }
-
- public string GetName() {
- return base.Channel.GetName();
- }
-
- public string[] GetFavoriteSites() {
- return base.Channel.GetFavoriteSites();
- }
- }
-}
diff --git a/samples/OAuthConsumer/Service References/SampleServiceProvider/Reference.svcmap b/samples/OAuthConsumer/Service References/SampleServiceProvider/Reference.svcmap
deleted file mode 100644
index 4463f99..0000000
--- a/samples/OAuthConsumer/Service References/SampleServiceProvider/Reference.svcmap
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="41652b7a-0e9d-40be-8e75-8ccd843850c4" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
- <ClientOptions>
- <GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
- <EnableDataBinding>true</EnableDataBinding>
- <ExcludedTypes />
- <ImportXmlTypes>false</ImportXmlTypes>
- <GenerateInternalTypes>false</GenerateInternalTypes>
- <GenerateMessageContracts>false</GenerateMessageContracts>
- <NamespaceMappings />
- <CollectionMappings />
- <GenerateSerializableTypes>true</GenerateSerializableTypes>
- <Serializer>Auto</Serializer>
- <UseSerializerForFaults>true</UseSerializerForFaults>
- <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
- <ReferencedAssemblies />
- <ReferencedDataContractTypes />
- <ServiceContractMappings />
- </ClientOptions>
- <MetadataSources>
- <MetadataSource Address="http://localhost:65169/DataApi.svc" Protocol="http" SourceId="1" />
- </MetadataSources>
- <Metadata>
- <MetadataFile FileName="DataApi.xsd" MetadataType="Schema" ID="82a34da8-d721-4c35-aaf9-fc5d08771cd2" SourceId="1" SourceUrl="http://localhost:65169/DataApi.svc?xsd=xsd0" />
- <MetadataFile FileName="DataApi.wsdl" MetadataType="Wsdl" ID="96350220-1df2-429e-8cb5-4fc33703bcc7" SourceId="1" SourceUrl="http://localhost:65169/DataApi.svc?wsdl" />
- <MetadataFile FileName="DataApi.disco" MetadataType="Disco" ID="c4f66dee-ac01-4476-afb0-34f7350c06ad" SourceId="1" SourceUrl="http://localhost:65169/DataApi.svc?disco" />
- <MetadataFile FileName="DataApi1.xsd" MetadataType="Schema" ID="7aaf262f-6342-421b-8f44-0e624be7a5fb" SourceId="1" SourceUrl="http://localhost:65169/DataApi.svc?xsd=xsd1" />
- <MetadataFile FileName="DataApi2.xsd" MetadataType="Schema" ID="67c1ea8d-12c4-4a0c-aa33-7226018cf16e" SourceId="1" SourceUrl="http://localhost:65169/DataApi.svc?xsd=xsd2" />
- </Metadata>
- <Extensions>
- <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
- <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
- </Extensions>
-</ReferenceGroup> \ No newline at end of file
diff --git a/samples/OAuthConsumer/Service References/SampleServiceProvider/configuration.svcinfo b/samples/OAuthConsumer/Service References/SampleServiceProvider/configuration.svcinfo
deleted file mode 100644
index 24b13a5..0000000
--- a/samples/OAuthConsumer/Service References/SampleServiceProvider/configuration.svcinfo
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
- <behaviors />
- <bindings>
- <binding digest="System.ServiceModel.Configuration.WSHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data hostNameComparisonMode=&quot;StrongWildcard&quot; messageEncoding=&quot;Text&quot; name=&quot;WSHttpBinding_IDataApi1&quot; textEncoding=&quot;utf-8&quot; transactionFlow=&quot;false&quot;&gt;&lt;readerQuotas maxArrayLength=&quot;16384&quot; maxBytesPerRead=&quot;4096&quot; maxDepth=&quot;32&quot; maxNameTableCharCount=&quot;16384&quot; maxStringContentLength=&quot;8192&quot; /&gt;&lt;reliableSession enabled=&quot;false&quot; inactivityTimeout=&quot;00:10:00&quot; ordered=&quot;true&quot; /&gt;&lt;security mode=&quot;Message&quot;&gt;&lt;message algorithmSuite=&quot;Default&quot; clientCredentialType=&quot;Windows&quot; negotiateServiceCredential=&quot;true&quot; /&gt;&lt;transport clientCredentialType=&quot;Windows&quot; proxyCredentialType=&quot;None&quot; realm=&quot;&quot; /&gt;&lt;/security&gt;&lt;/Data&gt;" bindingType="wsHttpBinding" name="WSHttpBinding_IDataApi1" />
- </bindings>
- <endpoints>
- <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:65169/DataApi.svc&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;WSHttpBinding_IDataApi1&quot; contract=&quot;SampleServiceProvider.IDataApi&quot; name=&quot;WSHttpBinding_IDataApi1&quot;&gt;&lt;identity&gt;&lt;dns value=&quot;localhost&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:65169/DataApi.svc&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;WSHttpBinding_IDataApi1&quot; contract=&quot;SampleServiceProvider.IDataApi&quot; name=&quot;WSHttpBinding_IDataApi1&quot;&gt;&lt;identity&gt;&lt;dns value=&quot;localhost&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="SampleServiceProvider.IDataApi" name="WSHttpBinding_IDataApi1" />
- </endpoints>
-</configurationSnapshot> \ No newline at end of file
diff --git a/samples/OAuthConsumer/Service References/SampleServiceProvider/configuration91.svcinfo b/samples/OAuthConsumer/Service References/SampleServiceProvider/configuration91.svcinfo
deleted file mode 100644
index 822d218..0000000
--- a/samples/OAuthConsumer/Service References/SampleServiceProvider/configuration91.svcinfo
+++ /dev/null
@@ -1,216 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="GUEgzgg89GpE4CgPbgPkvKCNLCE=">
- <bindingConfigurations>
- <bindingConfiguration bindingType="wsHttpBinding" name="WSHttpBinding_IDataApi1">
- <properties>
- <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>WSHttpBinding_IDataApi1</serializedValue>
- </property>
- <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>00:01:00</serializedValue>
- </property>
- <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>00:01:00</serializedValue>
- </property>
- <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>00:10:00</serializedValue>
- </property>
- <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>00:01:00</serializedValue>
- </property>
- <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>False</serializedValue>
- </property>
- <property path="/transactionFlow" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>False</serializedValue>
- </property>
- <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>StrongWildcard</serializedValue>
- </property>
- <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>524288</serializedValue>
- </property>
- <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>65536</serializedValue>
- </property>
- <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>Text</serializedValue>
- </property>
- <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
- </property>
- <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>32</serializedValue>
- </property>
- <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>8192</serializedValue>
- </property>
- <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>16384</serializedValue>
- </property>
- <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>4096</serializedValue>
- </property>
- <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>16384</serializedValue>
- </property>
- <property path="/reliableSession" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement</serializedValue>
- </property>
- <property path="/reliableSession/ordered" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>True</serializedValue>
- </property>
- <property path="/reliableSession/inactivityTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>00:10:00</serializedValue>
- </property>
- <property path="/reliableSession/enabled" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>False</serializedValue>
- </property>
- <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.Text.UTF8Encoding</serializedValue>
- </property>
- <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>True</serializedValue>
- </property>
- <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>False</serializedValue>
- </property>
- <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.WSHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.WSHttpSecurityElement</serializedValue>
- </property>
- <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.SecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>Message</serializedValue>
- </property>
- <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.WSHttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.WSHttpTransportSecurityElement</serializedValue>
- </property>
- <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>Windows</serializedValue>
- </property>
- <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>None</serializedValue>
- </property>
- <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
- </property>
- <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>Never</serializedValue>
- </property>
- <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>TransportSelected</serializedValue>
- </property>
- <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>(Collection)</serializedValue>
- </property>
- <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.NonDualMessageSecurityOverHttpElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.NonDualMessageSecurityOverHttpElement</serializedValue>
- </property>
- <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.MessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>Windows</serializedValue>
- </property>
- <property path="/security/message/negotiateServiceCredential" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>True</serializedValue>
- </property>
- <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>Default</serializedValue>
- </property>
- <property path="/security/message/establishSecurityContext" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>True</serializedValue>
- </property>
- </properties>
- </bindingConfiguration>
- </bindingConfigurations>
- <endpoints>
- <endpoint name="WSHttpBinding_IDataApi1" contract="SampleServiceProvider.IDataApi" bindingType="wsHttpBinding" address="http://localhost:65169/DataApi.svc" bindingConfiguration="WSHttpBinding_IDataApi1">
- <properties>
- <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>http://localhost:65169/DataApi.svc</serializedValue>
- </property>
- <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>wsHttpBinding</serializedValue>
- </property>
- <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>WSHttpBinding_IDataApi1</serializedValue>
- </property>
- <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>SampleServiceProvider.IDataApi</serializedValue>
- </property>
- <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
- </property>
- <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>&lt;Header /&gt;</serializedValue>
- </property>
- <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
- </property>
- <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
- </property>
- <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
- </property>
- <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
- </property>
- <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>localhost</serializedValue>
- </property>
- <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
- </property>
- <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
- </property>
- <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
- </property>
- <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>My</serializedValue>
- </property>
- <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>LocalMachine</serializedValue>
- </property>
- <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>FindBySubjectDistinguishedName</serializedValue>
- </property>
- <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>False</serializedValue>
- </property>
- <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue>WSHttpBinding_IDataApi1</serializedValue>
- </property>
- <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <serializedValue />
- </property>
- </properties>
- </endpoint>
- </endpoints>
-</SavedWcfConfigurationInformation> \ No newline at end of file
diff --git a/samples/OAuthConsumer/Settings.StyleCop b/samples/OAuthConsumer/Settings.StyleCop
deleted file mode 100644
index 7f55ce6..0000000
--- a/samples/OAuthConsumer/Settings.StyleCop
+++ /dev/null
@@ -1 +0,0 @@
-<StyleCopSettings Version="4.3" /> \ No newline at end of file
diff --git a/samples/OAuthConsumer/SignInWithTwitter.aspx b/samples/OAuthConsumer/SignInWithTwitter.aspx
deleted file mode 100644
index 86d29a4..0000000
--- a/samples/OAuthConsumer/SignInWithTwitter.aspx
+++ /dev/null
@@ -1,38 +0,0 @@
-<%@ Page Language="C#" AutoEventWireup="true"
- Inherits="OAuthConsumer.SignInWithTwitter" Codebehind="SignInWithTwitter.aspx.cs" %>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head runat="server">
- <title>Sign-in with Twitter</title>
-</head>
-<body>
- <form id="form1" runat="server">
- <div>
- <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
- <asp:View ID="View1" runat="server">
- <h2>
- Twitter setup</h2>
- <p>
- A Twitter client app must be endorsed by a Twitter user.
- </p>
- <ol>
- <li><a target="_blank" href="https://twitter.com/oauth_clients">Visit Twitter and create
- a client app</a>. </li>
- <li>Modify your web.config file to include your consumer key and consumer secret.</li>
- </ol>
- </asp:View>
- <asp:View ID="View2" runat="server">
- <asp:ImageButton ImageUrl="~/images/Sign-in-with-Twitter-darker.png" runat="server"
- AlternateText="Sign In With Twitter" ID="signInButton" OnClick="signInButton_Click" />
- <asp:CheckBox Text="force re-login" runat="server" ID="forceLoginCheckbox" />
- <br />
- <asp:Panel runat="server" ID="loggedInPanel" Visible="false">
- Now logged in as
- <asp:Label Text="[name]" runat="server" ID="loggedInName" />
- </asp:Panel>
- </asp:View>
- </asp:MultiView>
- </form>
-</body>
-</html>
diff --git a/samples/OAuthConsumer/SignInWithTwitter.aspx.cs b/samples/OAuthConsumer/SignInWithTwitter.aspx.cs
deleted file mode 100644
index e104f3a..0000000
--- a/samples/OAuthConsumer/SignInWithTwitter.aspx.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-namespace OAuthConsumer {
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.Linq;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Xml.Linq;
- using System.Xml.XPath;
- using DotNetOpenAuth.ApplicationBlock;
- using DotNetOpenAuth.OAuth;
-
- public partial class SignInWithTwitter : System.Web.UI.Page {
- protected void Page_Load(object sender, EventArgs e) {
- if (TwitterConsumer.IsTwitterConsumerConfigured) {
- this.MultiView1.ActiveViewIndex = 1;
-
- if (!IsPostBack) {
- string screenName;
- int userId;
- if (TwitterConsumer.TryFinishSignInWithTwitter(out screenName, out userId)) {
- this.loggedInPanel.Visible = true;
- this.loggedInName.Text = screenName;
-
- // In a real app, the Twitter username would likely be used
- // to log the user into the application.
- ////FormsAuthentication.RedirectFromLoginPage(screenName, false);
- }
- }
- }
- }
-
- protected void signInButton_Click(object sender, ImageClickEventArgs e) {
- TwitterConsumer.StartSignInWithTwitter(this.forceLoginCheckbox.Checked).Send();
- }
- }
-} \ No newline at end of file
diff --git a/samples/OAuthConsumer/SignInWithTwitter.aspx.designer.cs b/samples/OAuthConsumer/SignInWithTwitter.aspx.designer.cs
deleted file mode 100644
index 962a1af..0000000
--- a/samples/OAuthConsumer/SignInWithTwitter.aspx.designer.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OAuthConsumer {
-
-
- public partial class SignInWithTwitter {
-
- /// <summary>
- /// form1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.HtmlControls.HtmlForm form1;
-
- /// <summary>
- /// MultiView1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.MultiView MultiView1;
-
- /// <summary>
- /// View1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.View View1;
-
- /// <summary>
- /// View2 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.View View2;
-
- /// <summary>
- /// signInButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.ImageButton signInButton;
-
- /// <summary>
- /// forceLoginCheckbox control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.CheckBox forceLoginCheckbox;
-
- /// <summary>
- /// loggedInPanel control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Panel loggedInPanel;
-
- /// <summary>
- /// loggedInName control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Label loggedInName;
- }
-}
diff --git a/samples/OAuthConsumer/TracePage.aspx b/samples/OAuthConsumer/TracePage.aspx
deleted file mode 100644
index d3539fb..0000000
--- a/samples/OAuthConsumer/TracePage.aspx
+++ /dev/null
@@ -1,18 +0,0 @@
-<%@ Page Language="C#" AutoEventWireup="true" Inherits="OAuthConsumer.TracePage" Codebehind="TracePage.aspx.cs" %>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head runat="server">
- <title></title>
-</head>
-<body>
- <form id="form1" runat="server">
- <p align="right">
- <asp:Button runat="server" Text="Clear log" ID="clearLogButton" OnClick="clearLogButton_Click" />
- </p>
- <pre>
- <asp:PlaceHolder runat="server" ID="placeHolder1" />
- </pre>
- </form>
-</body>
-</html>
diff --git a/samples/OAuthConsumer/TracePage.aspx.cs b/samples/OAuthConsumer/TracePage.aspx.cs
deleted file mode 100644
index b9ca260..0000000
--- a/samples/OAuthConsumer/TracePage.aspx.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-namespace OAuthConsumer {
- using System;
- using System.Collections.Generic;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
-
- /// <summary>
- /// A page to display recent log messages.
- /// </summary>
- public partial class TracePage : System.Web.UI.Page {
- protected void Page_Load(object sender, EventArgs e) {
- this.placeHolder1.Controls.Add(new Label { Text = HttpUtility.HtmlEncode(Logging.LogMessages.ToString()) });
- }
-
- protected void clearLogButton_Click(object sender, EventArgs e) {
- Logging.LogMessages.Length = 0;
-
- // clear the page immediately, and allow for F5 without a Postback warning.
- Response.Redirect(Request.Url.AbsoluteUri);
- }
- }
-} \ No newline at end of file
diff --git a/samples/OAuthConsumer/TracePage.aspx.designer.cs b/samples/OAuthConsumer/TracePage.aspx.designer.cs
deleted file mode 100644
index 73184b5..0000000
--- a/samples/OAuthConsumer/TracePage.aspx.designer.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OAuthConsumer {
-
-
- public partial class TracePage {
-
- /// <summary>
- /// form1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.HtmlControls.HtmlForm form1;
-
- /// <summary>
- /// clearLogButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button clearLogButton;
-
- /// <summary>
- /// placeHolder1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.PlaceHolder placeHolder1;
- }
-}
diff --git a/samples/OAuthConsumer/Twitter.aspx b/samples/OAuthConsumer/Twitter.aspx
deleted file mode 100644
index a24c7bd..0000000
--- a/samples/OAuthConsumer/Twitter.aspx
+++ /dev/null
@@ -1,35 +0,0 @@
-<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" Inherits="OAuthConsumer.Twitter" Codebehind="Twitter.aspx.cs" %>
-
-<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
-</asp:Content>
-<asp:Content ID="Content2" ContentPlaceHolderID="Body" runat="Server">
- <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
- <asp:View ID="View1" runat="server">
- <h2>Twitter setup</h2>
- <p>A Twitter client app must be endorsed by a Twitter user. </p>
- <ol>
- <li><a target="_blank" href="https://twitter.com/oauth_clients">Visit Twitter and create
- a client app</a>. </li>
- <li>Modify your web.config file to include your consumer key and consumer secret.</li>
- </ol>
- </asp:View>
- <asp:View runat="server">
- <h2>Updates</h2>
- <p>Ok, Twitter has authorized us to download your feeds. Notice how we never asked
- you for your Twitter username or password. </p>
- <p>
- Upload a new profile photo:
- <asp:FileUpload ID="profilePhoto" runat="server" />
- &nbsp;<asp:Button ID="uploadProfilePhotoButton" runat="server"
- onclick="uploadProfilePhotoButton_Click" Text="Upload photo" />
- &nbsp;<asp:Label ID="photoUploadedLabel" runat="server" EnableViewState="False"
- Text="Done!" Visible="False"></asp:Label>
- </p>
- <p>
- Click &#39;Get updates&#39; to download updates to this sample.
- </p>
- <asp:Button ID="downloadUpdates" runat="server" Text="Get updates" OnClick="downloadUpdates_Click" />
- <asp:PlaceHolder runat="server" ID="resultsPlaceholder" />
- </asp:View>
- </asp:MultiView>
-</asp:Content>
diff --git a/samples/OAuthConsumer/Twitter.aspx.cs b/samples/OAuthConsumer/Twitter.aspx.cs
deleted file mode 100644
index 8288ed0..0000000
--- a/samples/OAuthConsumer/Twitter.aspx.cs
+++ /dev/null
@@ -1,96 +0,0 @@
-namespace OAuthConsumer {
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.Linq;
- using System.Text;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Xml.Linq;
- using System.Xml.XPath;
- using DotNetOpenAuth.ApplicationBlock;
- using DotNetOpenAuth.OAuth;
-
- public partial class Twitter : System.Web.UI.Page {
- private string AccessToken {
- get { return (string)Session["TwitterAccessToken"]; }
- set { Session["TwitterAccessToken"] = value; }
- }
-
- private InMemoryTokenManager TokenManager {
- get {
- var tokenManager = (InMemoryTokenManager)Application["TwitterTokenManager"];
- if (tokenManager == null) {
- string consumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"];
- string consumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"];
- if (!string.IsNullOrEmpty(consumerKey)) {
- tokenManager = new InMemoryTokenManager(consumerKey, consumerSecret);
- Application["TwitterTokenManager"] = tokenManager;
- }
- }
-
- return tokenManager;
- }
- }
-
- protected void Page_Load(object sender, EventArgs e) {
- if (this.TokenManager != null) {
- this.MultiView1.ActiveViewIndex = 1;
-
- if (!IsPostBack) {
- var twitter = new WebConsumer(TwitterConsumer.ServiceDescription, this.TokenManager);
-
- // Is Twitter calling back with authorization?
- var accessTokenResponse = twitter.ProcessUserAuthorization();
- if (accessTokenResponse != null) {
- this.AccessToken = accessTokenResponse.AccessToken;
- } else if (this.AccessToken == null) {
- // If we don't yet have access, immediately request it.
- twitter.Channel.Send(twitter.PrepareRequestUserAuthorization());
- }
- }
- }
- }
-
- protected void downloadUpdates_Click(object sender, EventArgs e) {
- var twitter = new WebConsumer(TwitterConsumer.ServiceDescription, this.TokenManager);
- XPathDocument updates = new XPathDocument(TwitterConsumer.GetUpdates(twitter, this.AccessToken).CreateReader());
- XPathNavigator nav = updates.CreateNavigator();
- var parsedUpdates = from status in nav.Select("/statuses/status").OfType<XPathNavigator>()
- where !status.SelectSingleNode("user/protected").ValueAsBoolean
- select new {
- User = status.SelectSingleNode("user/name").InnerXml,
- Status = status.SelectSingleNode("text").InnerXml,
- };
-
- StringBuilder tableBuilder = new StringBuilder();
- tableBuilder.Append("<table><tr><td>Name</td><td>Update</td></tr>");
-
- foreach (var update in parsedUpdates) {
- tableBuilder.AppendFormat(
- "<tr><td>{0}</td><td>{1}</td></tr>",
- HttpUtility.HtmlEncode(update.User),
- HttpUtility.HtmlEncode(update.Status));
- }
- tableBuilder.Append("</table>");
- this.resultsPlaceholder.Controls.Add(new Literal { Text = tableBuilder.ToString() });
- }
-
- protected void uploadProfilePhotoButton_Click(object sender, EventArgs e) {
- if (this.profilePhoto.PostedFile.ContentType == null) {
- this.photoUploadedLabel.Visible = true;
- this.photoUploadedLabel.Text = "Select a file first.";
- return;
- }
-
- var twitter = new WebConsumer(TwitterConsumer.ServiceDescription, this.TokenManager);
- XDocument imageResult = TwitterConsumer.UpdateProfileImage(
- twitter,
- this.AccessToken,
- this.profilePhoto.PostedFile.InputStream,
- this.profilePhoto.PostedFile.ContentType);
- this.photoUploadedLabel.Visible = true;
- }
- }
-} \ No newline at end of file
diff --git a/samples/OAuthConsumer/Twitter.aspx.designer.cs b/samples/OAuthConsumer/Twitter.aspx.designer.cs
deleted file mode 100644
index 7c37271..0000000
--- a/samples/OAuthConsumer/Twitter.aspx.designer.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OAuthConsumer {
-
-
- public partial class Twitter {
-
- /// <summary>
- /// MultiView1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.MultiView MultiView1;
-
- /// <summary>
- /// View1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.View View1;
-
- /// <summary>
- /// profilePhoto control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.FileUpload profilePhoto;
-
- /// <summary>
- /// uploadProfilePhotoButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button uploadProfilePhotoButton;
-
- /// <summary>
- /// photoUploadedLabel control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Label photoUploadedLabel;
-
- /// <summary>
- /// downloadUpdates control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button downloadUpdates;
-
- /// <summary>
- /// resultsPlaceholder control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.PlaceHolder resultsPlaceholder;
- }
-}
diff --git a/samples/OAuthConsumer/Web.config b/samples/OAuthConsumer/Web.config
deleted file mode 100644
index 2d8d817..0000000
--- a/samples/OAuthConsumer/Web.config
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0"?>
-<configuration>
- <configSections>
- <section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
- <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler" requirePermission="false" />
- <section name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection" requirePermission="false" allowLocation="true"/>
- <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
- <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
- <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
- <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
- <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
- <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
- <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
- <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
- </sectionGroup>
- </sectionGroup>
- </sectionGroup>
- </configSections>
-
- <!-- The uri section is necessary to turn on .NET 3.5 support for IDN (international domain names),
- which is necessary for OpenID urls with unicode characters in the domain/host name.
- It is also required to put the Uri class into RFC 3986 escaping mode, which OpenID and OAuth require. -->
- <uri>
- <idn enabled="All"/>
- <iriParsing enabled="true"/>
- </uri>
-
- <system.net>
- <defaultProxy enabled="true" />
- <settings>
- <!-- This setting causes .NET to check certificate revocation lists (CRL)
- before trusting HTTPS certificates. But this setting tends to not
- be allowed in shared hosting environments. -->
- <!--<servicePointManager checkCertificateRevocationList="true"/>-->
- </settings>
- </system.net>
-
- <!-- this is an optional configuration section where aspects of dotnetopenauth can be customized -->
- <dotNetOpenAuth>
- <!-- Allow DotNetOpenAuth to publish usage statistics to library authors to improve the library. -->
- <reporting enabled="true" />
- </dotNetOpenAuth>
-
- <appSettings>
- <!-- Fill in your various consumer keys and secrets here to make the sample work. -->
- <!-- You must get these values by signing up with each individual service provider. -->
- <!-- Twitter sign-up: https://twitter.com/oauth_clients -->
- <add key="twitterConsumerKey" value="" />
- <add key="twitterConsumerSecret" value="" />
- <!-- Google sign-up: https://www.google.com/accounts/ManageDomains -->
- <add key="googleConsumerKey" value="anonymous"/>
- <add key="googleConsumerSecret" value="anonymous"/>
- <!-- Yammer sign-up: https://www.yammer.com/client_applications/new -->
- <add key="yammerConsumerKey" value=""/>
- <add key="yammerConsumerSecret" value=""/>
- </appSettings>
- <connectionStrings/>
-
- <system.web>
- <!--
- Set compilation debug="true" to insert debugging
- symbols into the compiled page. Because this
- affects performance, set this value to true only
- during development.
- -->
- <compilation debug="true">
- <assemblies>
- <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
- <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
- <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
- <remove assembly="DotNetOpenAuth.Contracts"/>
- </assemblies>
- </compilation>
- <!--
- The <authentication> section enables configuration
- of the security authentication mode used by
- ASP.NET to identify an incoming user.
- -->
- <authentication mode="Windows"/>
- <!--
- The <customErrors> section enables configuration
- of what to do if/when an unhandled error occurs
- during the execution of a request. Specifically,
- it enables developers to configure html error pages
- to be displayed in place of a error stack trace.
-
- <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
- <error statusCode="403" redirect="NoAccess.htm" />
- <error statusCode="404" redirect="FileNotFound.htm" />
- </customErrors>
- -->
- <pages>
- <controls>
- <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- </controls>
- </pages>
- <httpHandlers>
- <remove verb="*" path="*.asmx"/>
- <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
- </httpHandlers>
- <httpModules>
- <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- </httpModules>
- </system.web>
- <system.codedom>
- <compilers>
- <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <providerOption name="CompilerVersion" value="v3.5"/>
- <providerOption name="WarnAsError" value="false"/>
- </compiler>
- <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <providerOption name="CompilerVersion" value="v3.5"/>
- <providerOption name="OptionInfer" value="true"/>
- <providerOption name="WarnAsError" value="false"/>
- </compiler>
- </compilers>
- </system.codedom>
- <!--
- The system.webServer section is required for running ASP.NET AJAX under Internet
- Information Services 7.0. It is not necessary for previous version of IIS.
- -->
- <system.webServer>
- <validation validateIntegratedModeConfiguration="false"/>
- <modules>
- <remove name="ScriptModule"/>
- <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- </modules>
- <handlers>
- <remove name="WebServiceHandlerFactory-Integrated"/>
- <remove name="ScriptHandlerFactory"/>
- <remove name="ScriptHandlerFactoryAppServices"/>
- <remove name="ScriptResource"/>
- <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- </handlers>
- </system.webServer>
- <runtime>
- <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
- <dependentAssembly>
- <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
- <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
- </dependentAssembly>
- <dependentAssembly>
- <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
- <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
- </dependentAssembly>
- </assemblyBinding>
- </runtime>
- <log4net>
- <appender name="TracePageAppender" type="OAuthConsumer.TracePageAppender, OAuthConsumer">
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%date (GMT%date{%z}) [%thread] %-5level %logger - %message%newline" />
- </layout>
- </appender>
- <!-- Setup the root category, add the appenders and set the default level -->
- <root>
- <level value="INFO" />
- <!--<appender-ref ref="RollingFileAppender" />-->
- <appender-ref ref="TracePageAppender" />
- </root>
- <!-- Specify the level for some specific categories -->
- <logger name="DotNetOpenAuth">
- <level value="ALL" />
- </logger>
- </log4net>
- <system.serviceModel>
- <bindings>
- <wsHttpBinding>
- <binding name="WSHttpBinding_IDataApi" closeTimeout="00:01:00"
- openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
- bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
- maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
- textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
- <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
- maxBytesPerRead="4096" maxNameTableCharCount="16384" />
- <reliableSession ordered="true" inactivityTimeout="00:10:00"
- enabled="false" />
- <security mode="Message">
- <transport clientCredentialType="Windows" proxyCredentialType="None"
- realm=""/>
- <message clientCredentialType="Windows" negotiateServiceCredential="true"
- algorithmSuite="Default" establishSecurityContext="true" />
- </security>
- </binding>
- </wsHttpBinding>
- </bindings>
- <client>
- <endpoint address="http://localhost:65169/DataApi.svc"
- binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IDataApi"
- contract="SampleServiceProvider.IDataApi" name="WSHttpBinding_IDataApi">
- <identity>
- <dns value="localhost" />
- </identity>
- </endpoint>
- </client>
- </system.serviceModel>
-</configuration>
diff --git a/samples/OAuthConsumer/Yammer.aspx b/samples/OAuthConsumer/Yammer.aspx
deleted file mode 100644
index 90b61b8..0000000
--- a/samples/OAuthConsumer/Yammer.aspx
+++ /dev/null
@@ -1,48 +0,0 @@
-<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/MasterPage.master"
- CodeBehind="Yammer.aspx.cs" Inherits="OAuthConsumer.Yammer" %>
-
-<asp:Content ID="Content2" ContentPlaceHolderID="Body" runat="Server">
- <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
- <asp:View ID="ClientRegistrationRequiredView" runat="server">
- <h2>
- Yammer setup</h2>
- <p>
- A Yammer client app must be registered.
- </p>
- <ol>
- <li><a target="_blank" href="https://www.yammer.com/client_applications/new">Visit Yammer
- and register a client app</a>. </li>
- <li>Modify your web.config file to include your consumer key and consumer secret.
- </li>
- </ol>
- </asp:View>
- <asp:View ID="BeginAuthorizationView" runat="server">
- <asp:Label Text="An error occurred in authorization. You may try again." EnableViewState="false" Visible="false" ForeColor="Red" ID="authorizationErrorLabel" runat="server" />
- <asp:Button Text="Obtain authorization now" runat="server" ID="obtainAuthorizationButton"
- OnClick="obtainAuthorizationButton_Click" />
- </asp:View>
- <asp:View ID="CompleteAuthorizationView" runat="server">
- After you have authorized Yammer to share your information, please enter the code
- Yammer gives you here:
- <asp:TextBox runat="server" ID="yammerUserCode" EnableViewState="false" />
- <asp:RequiredFieldValidator ErrorMessage="*" ControlToValidate="yammerUserCode" runat="server" />
- <asp:Button Text="Finish" runat="server" ID="finishAuthorizationButton" OnClick="finishAuthorizationButton_Click" />
- </asp:View>
- <asp:View ID="AuthorizationCompleteView" runat="server">
- <h2>
- Updates
- </h2>
- <p>The access token we have obtained is:
- <asp:Label ID="accessTokenLabel" runat="server" />
- </p>
- <p>
- Ok, Yammer has authorized us to download your messages. Click &#39;Get messages&#39;
- to download the latest few messages to this sample. Notice how we never asked you
- for your Yammer username or password.
- </p>
- <asp:Button ID="getYammerMessagesButton" runat="server" OnClick="getYammerMessages_Click"
- Text="Get address book" />
- <asp:PlaceHolder ID="resultsPlaceholder" runat="server" />
- </asp:View>
- </asp:MultiView>
-</asp:Content>
diff --git a/samples/OAuthConsumer/Yammer.aspx.cs b/samples/OAuthConsumer/Yammer.aspx.cs
deleted file mode 100644
index d8993fe..0000000
--- a/samples/OAuthConsumer/Yammer.aspx.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-namespace OAuthConsumer {
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using DotNetOpenAuth.ApplicationBlock;
- using DotNetOpenAuth.Messaging;
- using DotNetOpenAuth.OAuth;
-
- public partial class Yammer : System.Web.UI.Page {
- private string RequestToken {
- get { return (string)ViewState["YammerRequestToken"]; }
- set { ViewState["YammerRequestToken"] = value; }
- }
-
- private string AccessToken {
- get { return (string)Session["YammerAccessToken"]; }
- set { Session["YammerAccessToken"] = value; }
- }
-
- private InMemoryTokenManager TokenManager {
- get {
- var tokenManager = (InMemoryTokenManager)Application["YammerTokenManager"];
- if (tokenManager == null) {
- string consumerKey = ConfigurationManager.AppSettings["YammerConsumerKey"];
- string consumerSecret = ConfigurationManager.AppSettings["YammerConsumerSecret"];
- if (!string.IsNullOrEmpty(consumerKey)) {
- tokenManager = new InMemoryTokenManager(consumerKey, consumerSecret);
- Application["YammerTokenManager"] = tokenManager;
- }
- }
-
- return tokenManager;
- }
- }
-
- protected void Page_Load(object sender, EventArgs e) {
- if (this.TokenManager != null) {
- this.MultiView1.SetActiveView(this.BeginAuthorizationView);
- }
- }
-
- protected void getYammerMessages_Click(object sender, EventArgs e) {
- var yammer = new WebConsumer(YammerConsumer.ServiceDescription, this.TokenManager);
- }
-
- protected void obtainAuthorizationButton_Click(object sender, EventArgs e) {
- var yammer = YammerConsumer.CreateConsumer(this.TokenManager);
- string requestToken;
- Uri popupWindowLocation = YammerConsumer.PrepareRequestAuthorization(yammer, out requestToken);
- this.RequestToken = requestToken;
- string javascript = "window.open('" + popupWindowLocation.AbsoluteUri + "');";
- this.Page.ClientScript.RegisterStartupScript(GetType(), "YammerPopup", javascript, true);
- this.MultiView1.SetActiveView(this.CompleteAuthorizationView);
- }
-
- protected void finishAuthorizationButton_Click(object sender, EventArgs e) {
- if (!Page.IsValid) {
- return;
- }
-
- var yammer = YammerConsumer.CreateConsumer(this.TokenManager);
- var authorizationResponse = YammerConsumer.CompleteAuthorization(yammer, this.RequestToken, this.yammerUserCode.Text);
- if (authorizationResponse != null) {
- this.accessTokenLabel.Text = HttpUtility.HtmlEncode(authorizationResponse.AccessToken);
- this.MultiView1.SetActiveView(this.AuthorizationCompleteView);
- } else {
- this.MultiView1.SetActiveView(this.BeginAuthorizationView);
- this.authorizationErrorLabel.Visible = true;
- }
- }
- }
-} \ No newline at end of file
diff --git a/samples/OAuthConsumer/Yammer.aspx.designer.cs b/samples/OAuthConsumer/Yammer.aspx.designer.cs
deleted file mode 100644
index 57f6db5..0000000
--- a/samples/OAuthConsumer/Yammer.aspx.designer.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OAuthConsumer {
-
-
- public partial class Yammer {
-
- /// <summary>
- /// MultiView1 control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.MultiView MultiView1;
-
- /// <summary>
- /// ClientRegistrationRequiredView control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.View ClientRegistrationRequiredView;
-
- /// <summary>
- /// BeginAuthorizationView control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.View BeginAuthorizationView;
-
- /// <summary>
- /// authorizationErrorLabel control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Label authorizationErrorLabel;
-
- /// <summary>
- /// obtainAuthorizationButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button obtainAuthorizationButton;
-
- /// <summary>
- /// CompleteAuthorizationView control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.View CompleteAuthorizationView;
-
- /// <summary>
- /// yammerUserCode control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.TextBox yammerUserCode;
-
- /// <summary>
- /// finishAuthorizationButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button finishAuthorizationButton;
-
- /// <summary>
- /// AuthorizationCompleteView control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.View AuthorizationCompleteView;
-
- /// <summary>
- /// accessTokenLabel control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Label accessTokenLabel;
-
- /// <summary>
- /// getYammerMessagesButton control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.Button getYammerMessagesButton;
-
- /// <summary>
- /// resultsPlaceholder control.
- /// </summary>
- /// <remarks>
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- /// </remarks>
- protected global::System.Web.UI.WebControls.PlaceHolder resultsPlaceholder;
- }
-}
diff --git a/samples/OAuthConsumer/favicon.ico b/samples/OAuthConsumer/favicon.ico
deleted file mode 100644
index e227dbe..0000000
--- a/samples/OAuthConsumer/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/samples/OAuthConsumer/images/Sign-in-with-Twitter-darker.png b/samples/OAuthConsumer/images/Sign-in-with-Twitter-darker.png
deleted file mode 100644
index 746b6b9..0000000
--- a/samples/OAuthConsumer/images/Sign-in-with-Twitter-darker.png
+++ /dev/null
Binary files differ