diff options
Diffstat (limited to 'projecttemplates')
23 files changed, 1578 insertions, 1258 deletions
diff --git a/projecttemplates/MvcRelyingParty/MvcRelyingParty.csproj b/projecttemplates/MvcRelyingParty/MvcRelyingParty.csproj index 9dda061..4ef10f6 100644 --- a/projecttemplates/MvcRelyingParty/MvcRelyingParty.csproj +++ b/projecttemplates/MvcRelyingParty/MvcRelyingParty.csproj @@ -1,6 +1,16 @@ <?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))' != '' " /> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> + <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> + <IISExpressSSLPort /> + <IISExpressAnonymousAuthentication /> + <IISExpressWindowsAuthentication /> + <IISExpressUseClassicPipelineMode /> + <TargetFrameworkProfile /> + </PropertyGroup> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -11,12 +21,8 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>MvcRelyingParty</RootNamespace> <AssemblyName>MvcRelyingParty</AssemblyName> - <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <MvcBuildViews>false</MvcBuildViews> - <FileUpgradeFlags> - </FileUpgradeFlags> - <OldToolsVersion>4.0</OldToolsVersion> - <UpgradeBackupLocation /> <UseIISExpress>false</UseIISExpress> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> @@ -45,22 +51,17 @@ </Reference> <Reference Include="System" /> <Reference Include="System.Data" /> - <Reference Include="System.Core"> - <RequiredTargetFramework>3.5</RequiredTargetFramework> - </Reference> - <Reference Include="System.Data.DataSetExtensions"> - <RequiredTargetFramework>3.5</RequiredTargetFramework> - </Reference> + <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.Entity"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> + <Reference Include="System.Web.ApplicationServices" /> + <Reference Include="System.Web.DynamicData" /> + <Reference Include="System.Web.Entity" /> + <Reference Include="System.Web.Extensions" /> <Reference Include="System.Web.Mvc" /> - <Reference Include="System.Xml.Linq"> - <RequiredTargetFramework>3.5</RequiredTargetFramework> - </Reference> <Reference Include="System.Drawing" /> <Reference Include="System.Web" /> - <Reference Include="System.Web.Extensions" /> <Reference Include="System.Web.Abstractions" /> <Reference Include="System.Web.Routing" /> <Reference Include="System.Xml" /> @@ -68,6 +69,7 @@ <Reference Include="System.Web.Services" /> <Reference Include="System.EnterpriseServices" /> <Reference Include="System.Web.Mobile" /> + <Reference Include="System.Xml.Linq" /> </ItemGroup> <ItemGroup> <Compile Include="Code\Extensions.cs" /> @@ -79,7 +81,6 @@ <Compile Include="Controllers\HomeController.cs" /> <Compile Include="Default.aspx.cs"> <DependentUpon>Default.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Global.asax.cs"> <DependentUpon>Global.asax</DependentUpon> @@ -92,7 +93,6 @@ <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Setup.aspx.cs"> <DependentUpon>Setup.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Setup.aspx.designer.cs"> <DependentUpon>Setup.aspx</DependentUpon> @@ -183,6 +183,10 @@ <Project>{99BB7543-EA16-43EE-A7BC-D7A25A3B22F6}</Project> <Name>DotNetOpenAuth.OAuth2.AuthorizationServer</Name> </ProjectReference> + <ProjectReference Include="..\..\src\DotNetOpenAuth.OAuth2.ClientAuthorization\DotNetOpenAuth.OAuth2.ClientAuthorization.csproj"> + <Project>{CCF3728A-B3D7-404A-9BC6-75197135F2D7}</Project> + <Name>DotNetOpenAuth.OAuth2.ClientAuthorization</Name> + </ProjectReference> <ProjectReference Include="..\..\src\DotNetOpenAuth.OAuth2.ResourceServer\DotNetOpenAuth.OAuth2.ResourceServer.csproj"> <Project>{A1A3150A-7B0E-4A34-8E35-045296CD3C76}</Project> <Name>DotNetOpenAuth.OAuth2.ResourceServer</Name> @@ -229,7 +233,8 @@ <Content Include="OAuthTokenEndpoint.ashx" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> - <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> + <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> + <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> diff --git a/projecttemplates/MvcRelyingParty/Views/Web.config b/projecttemplates/MvcRelyingParty/Views/Web.config index b744fc8..6c19565 100644 --- a/projecttemplates/MvcRelyingParty/Views/Web.config +++ b/projecttemplates/MvcRelyingParty/Views/Web.config @@ -15,11 +15,11 @@ --> <pages validateRequest="false" - pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" - pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" - userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> + pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" + pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" + userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <controls> - <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> + <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> </controls> </pages> </system.web> diff --git a/projecttemplates/MvcRelyingParty/Web.config b/projecttemplates/MvcRelyingParty/Web.config index b7a1d38..d59d8fb 100644 --- a/projecttemplates/MvcRelyingParty/Web.config +++ b/projecttemplates/MvcRelyingParty/Web.config @@ -9,7 +9,6 @@ --> <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"/> <sectionGroup name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection, DotNetOpenAuth.Core"> <section name="openid" type="DotNetOpenAuth.Configuration.OpenIdElement, DotNetOpenAuth.OpenId" requirePermission="false" allowLocation="true" /> @@ -17,17 +16,6 @@ <section name="messaging" type="DotNetOpenAuth.Configuration.MessagingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" /> <section name="reporting" type="DotNetOpenAuth.Configuration.ReportingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" /> </sectionGroup> - <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. @@ -157,18 +145,14 @@ affects performance, set this value to true only during development. --> - <compilation debug="true"> + <compilation debug="true" targetFramework="4.0"> <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.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> - <add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> - <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> - <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> + <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <remove assembly="DotNetOpenAuth.Contracts"/> + <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> + <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> </assemblies> </compilation> <!-- @@ -196,11 +180,7 @@ <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 controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"> <namespaces> <add namespace="System.Web.Mvc"/> <add namespace="System.Web.Mvc.Ajax"/> @@ -211,32 +191,13 @@ </namespaces> </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"/> - <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> + <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </httpHandlers> <httpModules> - <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add name="OAuthAuthenticationModule" type="RelyingPartyLogic.OAuthAuthenticationModule, RelyingPartyLogic"/> <add name="Database" type="RelyingPartyLogic.Database, RelyingPartyLogic"/> </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> <system.web.extensions/> <!-- The system.webServer section is required for running ASP.NET AJAX under Internet @@ -245,25 +206,13 @@ <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <modules runAllManagedModulesForAllRequests="true"> - <remove name="ScriptModule"/> - <remove name="UrlRoutingModule"/> - <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add name="OAuthAuthenticationModule" type="RelyingPartyLogic.OAuthAuthenticationModule, RelyingPartyLogic"/> <add name="Database" type="RelyingPartyLogic.Database, RelyingPartyLogic"/> </modules> <handlers> - <remove name="WebServiceHandlerFactory-Integrated"/> - <remove name="ScriptHandlerFactory"/> - <remove name="ScriptHandlerFactoryAppServices"/> - <remove name="ScriptResource"/> <remove name="MvcHttpHandler"/> <remove name="UrlRoutingHandler"/> - <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"/> - <add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> + <add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </handlers> </system.webServer> <runtime> diff --git a/projecttemplates/RelyingPartyDatabase/.gitignore b/projecttemplates/RelyingPartyDatabase/.gitignore index 55b665f..43b64c4 100644 --- a/projecttemplates/RelyingPartyDatabase/.gitignore +++ b/projecttemplates/RelyingPartyDatabase/.gitignore @@ -1,3 +1,5 @@ sql/debug sql/release *.dbmdl +*.scmp +*.publish.xml diff --git a/projecttemplates/RelyingPartyDatabase/Permissions.sql b/projecttemplates/RelyingPartyDatabase/Permissions.sql new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/projecttemplates/RelyingPartyDatabase/Permissions.sql @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlcmdvars b/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlcmdvars index f2c472d..dbdd8c5 100644 --- a/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlcmdvars +++ b/projecttemplates/RelyingPartyDatabase/Properties/Database.sqlcmdvars @@ -2,9 +2,5 @@ <SqlCommandVariables xmlns="urn:Microsoft.VisualStudio.Data.Schema.Package.SqlCmdVars"> <Version>1.0</Version> <Properties> - <Property> - <PropertyName>Path1</PropertyName> - <PropertyValue>WEBROOT</PropertyValue> - </Property> </Properties> </SqlCommandVariables>
\ No newline at end of file diff --git a/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj b/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.sqlproj index 66e1e72..0799235 100644 --- a/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.dbproj +++ b/projecttemplates/RelyingPartyDatabase/RelyingPartyDatabase.sqlproj @@ -1,13 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))\EnlistmentInfo.props" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.props))' != '' " /> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> + </PropertyGroup> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Name>"DatabaseProject"</Name> + <Name>RelyingPartyDatabase</Name> <SchemaVersion>2.0</SchemaVersion> <ProjectVersion>4.0</ProjectVersion> - <ProjectGuid>{2b4261ac-25ac-4b8d-b459-1c42b6b1401d}</ProjectGuid> - <DSP>Microsoft.Data.Schema.Sql.Sql90DatabaseSchemaProvider</DSP> + <DSP>Microsoft.Data.Tools.Schema.Sql.Sql90DatabaseSchemaProvider</DSP> <AppDesignerFolder>Properties</AppDesignerFolder> <ShowWizard>True</ShowWizard> <OutputType>Database</OutputType> @@ -15,47 +18,76 @@ </RootPath> <IncludeSchemaNameInFileName>False</IncludeSchemaNameInFileName> <ModelCollation>1033,CI</ModelCollation> - <DefaultFileStructure>BySchema</DefaultFileStructure> - <DeployToDatabaseAddToServerExplorer>False</DeployToDatabaseAddToServerExplorer> - <DeployToScript>True</DeployToScript> - <CatalogPropertiesFile>Properties\Database.sqlsettings</CatalogPropertiesFile> - <ServerPropertiesFile> - </ServerPropertiesFile> + <DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure> <RootNamespace>RelyingPartyDatabase</RootNamespace> <DefaultSchema>dbo</DefaultSchema> - <AllowServerObjects>False</AllowServerObjects> - <AllowDatabaseObjects>True</AllowDatabaseObjects> - <DeployScriptFileName>..\..\..\RelyingPartyLogic\CreateDatabase.sql</DeployScriptFileName> <PreviousProjectVersion>4.0</PreviousProjectVersion> + <ValidateCasingOnIdentifiers>False</ValidateCasingOnIdentifiers> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{08a938b6-ebbd-4036-880e-ce7ba2d14510}</ProjectGuid> + <GenerateDatabaseFile>False</GenerateDatabaseFile> + <GenerateCreateScript>True</GenerateCreateScript> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <SqlServerVerification>False</SqlServerVerification> + <TargetLanguage>CS</TargetLanguage> + <AllowSnapshotIsolation>False</AllowSnapshotIsolation> + <AnsiNullDefault>False</AnsiNullDefault> + <AnsiNulls>False</AnsiNulls> + <AnsiPadding>False</AnsiPadding> + <AnsiWarnings>False</AnsiWarnings> + <ArithAbort>False</ArithAbort> + <AutoClose>True</AutoClose> + <AutoCreateStatistics>True</AutoCreateStatistics> + <AutoShrink>False</AutoShrink> + <AutoUpdateStatistics>True</AutoUpdateStatistics> + <AutoUpdateStatisticsAsynchronously>False</AutoUpdateStatisticsAsynchronously> + <ChangeTrackingRetentionPeriod>2</ChangeTrackingRetentionPeriod> + <ChangeTrackingRetentionUnit>Days</ChangeTrackingRetentionUnit> + <CloseCursorOnCommitEnabled>False</CloseCursorOnCommitEnabled> + <CompatibilityMode>90</CompatibilityMode> + <ConcatNullYieldsNull>False</ConcatNullYieldsNull> + <DatabaseAccess>MULTI_USER</DatabaseAccess> + <DatabaseChaining>False</DatabaseChaining> + <DatabaseState>ONLINE</DatabaseState> + <DateCorrelationOptimizationOn>False</DateCorrelationOptimizationOn> + <DefaultCollation>SQL_Latin1_General_CP1_CI_AS</DefaultCollation> + <DefaultCursor>GLOBAL</DefaultCursor> + <DefaultFilegroup>PRIMARY</DefaultFilegroup> + <EnableFullTextSearch>True</EnableFullTextSearch> + <IsBrokerPriorityHonored>False</IsBrokerPriorityHonored> + <IsChangeTrackingAutoCleanupOn>True</IsChangeTrackingAutoCleanupOn> + <IsChangeTrackingOn>False</IsChangeTrackingOn> + <IsEncryptionOn>False</IsEncryptionOn> + <NumericRoundAbort>False</NumericRoundAbort> + <PageVerify>CHECKSUM</PageVerify> + <Parameterization>SIMPLE</Parameterization> + <QuotedIdentifier>False</QuotedIdentifier> + <ReadCommittedSnapshot>False</ReadCommittedSnapshot> + <Recovery>SIMPLE</Recovery> + <RecursiveTriggersEnabled>False</RecursiveTriggersEnabled> + <ServiceBrokerOption>DisableBroker</ServiceBrokerOption> + <SupplementalLoggingOn>False</SupplementalLoggingOn> + <TornPageDetection>False</TornPageDetection> + <Trustworthy>False</Trustworthy> + <UpdateOptions>READ_WRITE</UpdateOptions> + <VardecimalStorageFormatOn>True</VardecimalStorageFormatOn> </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <OutputPath>.\sql\release\</OutputPath> <BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName> - <TargetConnectionString> - </TargetConnectionString> <TargetDatabase>RelyingPartyDatabase</TargetDatabase> - <TreatWarningsAsErrors>False</TreatWarningsAsErrors> - <SuppressWarnings> - </SuppressWarnings> - <DeploymentConfigFile>Properties\Database.sqldeployment</DeploymentConfigFile> - <SqlCommandVariablesFile>Properties\Database.sqlcmdvars</SqlCommandVariablesFile> - <DeployToDatabase>False</DeployToDatabase> + <TreatTSqlWarningsAsErrors>False</TreatTSqlWarningsAsErrors> + <SuppressTSqlWarnings /> </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <OutputPath>.\sql\debug\</OutputPath> <BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName> - <TargetConnectionString> - </TargetConnectionString> <TargetDatabase>RelyingPartyDatabase</TargetDatabase> - <TreatWarningsAsErrors>False</TreatWarningsAsErrors> - <SuppressWarnings> - </SuppressWarnings> - <DeploymentConfigFile>Properties\Database.sqldeployment</DeploymentConfigFile> - <SqlCommandVariablesFile>Properties\Database.sqlcmdvars</SqlCommandVariablesFile> - <DeployToDatabase>False</DeployToDatabase> + <TreatTSqlWarningsAsErrors>False</TreatTSqlWarningsAsErrors> + <SuppressTSqlWarnings /> </PropertyGroup> <!--Import the settings--> - <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" /> + <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" /> <ItemGroup> <Folder Include="Properties\" /> <Folder Include="Schema Objects\" /> @@ -121,24 +153,10 @@ <Folder Include="Schema Comparisons" /> </ItemGroup> <ItemGroup> - <PropertiesFile Include="Properties\Database.sqlsettings"> - </PropertiesFile> - <PropertiesFile Include="Properties\Database.sqldeployment"> - </PropertiesFile> - <PropertiesFile Include="Properties\Database.sqlcmdvars"> - </PropertiesFile> - <Build Include="Properties\Database.sqlpermissions"> - <ModelBuilderType>Permissions</ModelBuilderType> - </Build> + <Build Include="Permissions.sql" /> <Build Include="Schema Objects\Database Level Objects\Service Broker\Routes\AutoCreatedLocal.route.sql"> <SubType>Code</SubType> </Build> - <Build Include="Schema Objects\Database Level Objects\Storage\Files\Database.mdf.sqlfile.sql"> - <SubType>Code</SubType> - </Build> - <Build Include="Schema Objects\Database Level Objects\Storage\Files\Database_log.sqlfile.sql"> - <SubType>Code</SubType> - </Build> <Build Include="Schema Objects\Schemas\dbo\Programmability\Stored Procedures\AddUser.proc.sql"> <SubType>Code</SubType> <AnsiNulls>On</AnsiNulls> @@ -230,20 +248,14 @@ <AnsiNulls>On</AnsiNulls> <QuotedIdentifier>On</QuotedIdentifier> </Build> - <PreDeploy Include="Scripts\Pre-Deployment\Script.PreDeployment.sql"> - <SubType>Code</SubType> - </PreDeploy> - <PostDeploy Include="Scripts\Post-Deployment\Script.PostDeployment.sql"> - <SubType>Code</SubType> - </PostDeploy> </ItemGroup> <ItemGroup> <BuildContributorArgument Include="OutDir=$(OutDir)" /> </ItemGroup> <ItemGroup> - <NotInBuild Include="Schema Comparisons\SchemaComparison1.scmp"> + <None Include="Schema Comparisons\SchemaComparison1.scmp"> <SubType>NotInBuild</SubType> - </NotInBuild> + </None> </ItemGroup> <ItemGroup> <Build Include="Schema Objects\Schemas\dbo\Tables\Constraints\DF_IssuedToken_CreatedOn_1.defconst.sql"> @@ -286,5 +298,20 @@ <QuotedIdentifier>On</QuotedIdentifier> </Build> </ItemGroup> + <ItemGroup> + </ItemGroup> + <ItemGroup> + <None Include="Debug.publish.xml" /> + <None Include="Release.publish.xml" /> + </ItemGroup> + <ItemGroup> + <PreDeploy Include="Scripts\Pre-Deployment\Script.PreDeployment.sql" /> + </ItemGroup> + <ItemGroup> + <PostDeploy Include="Scripts\Post-Deployment\Script.PostDeployment.sql" /> + </ItemGroup> + <Target Name="GetDeployScriptPath" + DependsOnTargets="Build" + Outputs="$(MSBuildProjectDirectory)$(OutDir)$(MSBuildProjectName)_Create.sql" /> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " /> -</Project> +</Project>
\ No newline at end of file diff --git a/projecttemplates/RelyingPartyDatabase/Schema Comparisons/SchemaComparison1.scmp b/projecttemplates/RelyingPartyDatabase/Schema Comparisons/SchemaComparison1.scmp index b3160a4..b80761f 100644 --- a/projecttemplates/RelyingPartyDatabase/Schema Comparisons/SchemaComparison1.scmp +++ b/projecttemplates/RelyingPartyDatabase/Schema Comparisons/SchemaComparison1.scmp @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <SchemaComparison> - <Version>1</Version> + <Version>10</Version> <SourceModelProvider> <ConnectionBasedModelProvider> <ConnectionString>Data Source=.\sqlexpress;Initial Catalog=RelyingPartyDatabase;Integrated Security=True;Password=</ConnectionString> @@ -25,7 +25,7 @@ <ConfigurationOptionsElement> <PropertyElementName> <Name>PlanGenerationType</Name> - <Value>Sql90SchemaDeploymentOptions</Value> + <Value>SqlDeploymentOptions</Value> </PropertyElementName> <PropertyElementName> <Name>DoNotUseAlterAssemblyStatementsToUpdateCLRTypes</Name> @@ -308,21 +308,22 @@ <Value>True</Value> </PropertyElementName> <PropertyElementName> - <Name>Microsoft.Data.Schema.Sql.SchemaModel.ISqlPermissionStatement</Name> + <Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlPermissionStatement</Name> <Value>ExcludedType</Value> </PropertyElementName> <PropertyElementName> - <Name>Microsoft.Data.Schema.Sql.SchemaModel.ISqlFilegroup</Name> + <Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlFilegroup</Name> <Value>ExcludedType</Value> </PropertyElementName> <PropertyElementName> - <Name>Microsoft.Data.Schema.Sql.SchemaModel.ISqlFile</Name> + <Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlFile</Name> <Value>ExcludedType</Value> </PropertyElementName> <PropertyElementName> - <Name>Microsoft.Data.Schema.Sql.SchemaModel.ISqlExtendedProperty</Name> + <Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlExtendedProperty</Name> <Value>ExcludedType</Value> </PropertyElementName> </ConfigurationOptionsElement> </SchemaCompareSettingsService> + <SchemaCompareViewSettings /> </SchemaComparison>
\ No newline at end of file diff --git a/projecttemplates/RelyingPartyDatabase/Schema Comparisons/SchemaComparison1_20120225042555.scmp b/projecttemplates/RelyingPartyDatabase/Schema Comparisons/SchemaComparison1_20120225042555.scmp new file mode 100644 index 0000000..b3160a4 --- /dev/null +++ b/projecttemplates/RelyingPartyDatabase/Schema Comparisons/SchemaComparison1_20120225042555.scmp @@ -0,0 +1,328 @@ +<?xml version="1.0" encoding="utf-8"?> +<SchemaComparison> + <Version>1</Version> + <SourceModelProvider> + <ConnectionBasedModelProvider> + <ConnectionString>Data Source=.\sqlexpress;Initial Catalog=RelyingPartyDatabase;Integrated Security=True;Password=</ConnectionString> + <DatabaseName>RelyingPartyDatabase</DatabaseName> + <DspFamilyName>sql</DspFamilyName> + <Name>[THINKAGAIN\sqlexpress.RelyingPartyDatabase]</Name> + </ConnectionBasedModelProvider> + </SourceModelProvider> + <TargetModelProvider> + <ProjectBasedModelProvider> + <ProjectGuid>{2b4261ac-25ac-4b8d-b459-1c42b6b1401d}</ProjectGuid> + <Name>RelyingPartyDatabase</Name> + </ProjectBasedModelProvider> + </TargetModelProvider> + <SchemaCompareSettingsService> + <SchemaCompareSettingsService> + <PropertyElementName> + <Name>Version</Name> + <Value>1</Value> + </PropertyElementName> + </SchemaCompareSettingsService> + <ConfigurationOptionsElement> + <PropertyElementName> + <Name>PlanGenerationType</Name> + <Value>Sql90SchemaDeploymentOptions</Value> + </PropertyElementName> + <PropertyElementName> + <Name>DoNotUseAlterAssemblyStatementsToUpdateCLRTypes</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>DisableAndReenableDdlTriggers</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreDdlTriggerOrder</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreDdlTriggerState</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreObjectPlacementOnPartitionScheme</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreAuthorizer</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreDefaultSchema</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreRouteLifetime</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>OnlyCompareElementsInSource</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreStatisticsSample</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>CommentOutSetVarDeclarations</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>GenerateDeployStateChecks</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>DeployDatabaseProperties</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreComments</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreWhitespace</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreKeywordCasing</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreSemicolonBetweenStatements</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>BlockIncrementalDeploymentIfDataLoss</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>PerformDatabaseBackup</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>SingleUserMode</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IncludeTransactionalScripts</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>EnforceMinimalDependencies</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>DeploymentCollationPreference</Name> + <Value>UseSourceModelCollation</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnorePartitionSchemes</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreWithNocheckOnCheckConstraints</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreWithNocheckOnForeignKeys</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreIdentitySeed</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreIncrement</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreFillFactor</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreIndexPadding</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreColumnCollation</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreLockHintsOnIndexes</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreTableOptions</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreIndexOptions</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreDmlTriggerOrder</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>ScriptDatabaseCollation</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreDmlTriggerState</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreAnsiNulls</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreQuotedIdentifiers</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreUserSettingsObjects</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>AbortOnFirstError</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreFilegroupPlacement</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreFullTextCatalogFilePath</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreFileAndLogFilePath</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreLoginSids</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreNotForReplication</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreFileSize</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>OverrideSevenSetOptions</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>SetAnsiNulls</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>SetAnsiPadding</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>SetAnsiWarnings</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>SetArithAbort</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>SetConcatNullYieldsNull</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>SetQuotedIdentifier</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>SetNumericRoundAbort</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>UnmodifiableObjectWarnings</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>DropIndexesNotInSource</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>DropConstraintsNotInSource</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>CheckNewConstraints</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreColumnOrder</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnorePasswords</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>IgnoreBodyDependencies</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>SourceSqlCmdVariablesFile</Name> + <Value>C:\Users\andarno\git\dotnetopenid\projecttemplates\RelyingPartyDatabase\Properties\Database.sqlcmdvars</Value> + </PropertyElementName> + <PropertyElementName> + <Name>AlwaysCreateNewDatabase</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>GenerateDropsIfNotInProject</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>TargetDatabaseName</Name> + <Value>RelyingPartyDatabase</Value> + </PropertyElementName> + <PropertyElementName> + <Name>TargetConnectionString</Name> + <Value>Data Source=.\sqlexpress;Initial Catalog=RelyingPartyDatabase;Integrated Security=True;Pooling=False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>VerifyDeployment</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>TreatVerificationErrorsAsWarnings</Name> + <Value>False</Value> + </PropertyElementName> + <PropertyElementName> + <Name>BuildtimeContributorsMustExist</Name> + <Value>True</Value> + </PropertyElementName> + <PropertyElementName> + <Name>Microsoft.Data.Schema.Sql.SchemaModel.ISqlPermissionStatement</Name> + <Value>ExcludedType</Value> + </PropertyElementName> + <PropertyElementName> + <Name>Microsoft.Data.Schema.Sql.SchemaModel.ISqlFilegroup</Name> + <Value>ExcludedType</Value> + </PropertyElementName> + <PropertyElementName> + <Name>Microsoft.Data.Schema.Sql.SchemaModel.ISqlFile</Name> + <Value>ExcludedType</Value> + </PropertyElementName> + <PropertyElementName> + <Name>Microsoft.Data.Schema.Sql.SchemaModel.ISqlExtendedProperty</Name> + <Value>ExcludedType</Value> + </PropertyElementName> + </ConfigurationOptionsElement> + </SchemaCompareSettingsService> +</SchemaComparison>
\ No newline at end of file diff --git a/projecttemplates/RelyingPartyDatabase/Schema Objects/Database Level Objects/Storage/Files/Database.mdf.sqlfile.sql b/projecttemplates/RelyingPartyDatabase/Schema Objects/Database Level Objects/Storage/Files/Database.mdf.sqlfile.sql deleted file mode 100644 index 0c2e5c8..0000000 --- a/projecttemplates/RelyingPartyDatabase/Schema Objects/Database Level Objects/Storage/Files/Database.mdf.sqlfile.sql +++ /dev/null @@ -1,3 +0,0 @@ -ALTER DATABASE [$(DatabaseName)] - ADD FILE (NAME = [$(Path1)$(DatabaseName).mdf], FILENAME = '$(Path1)$(DatabaseName).mdf', MAXSIZE = UNLIMITED, FILEGROWTH = 1024 KB) TO FILEGROUP [PRIMARY]; - diff --git a/projecttemplates/RelyingPartyDatabase/Schema Objects/Database Level Objects/Storage/Files/Database_log.sqlfile.sql b/projecttemplates/RelyingPartyDatabase/Schema Objects/Database Level Objects/Storage/Files/Database_log.sqlfile.sql deleted file mode 100644 index bcd70cd..0000000 --- a/projecttemplates/RelyingPartyDatabase/Schema Objects/Database Level Objects/Storage/Files/Database_log.sqlfile.sql +++ /dev/null @@ -1,3 +0,0 @@ -ALTER DATABASE [$(DatabaseName)] - ADD LOG FILE (NAME = [$(DatabaseName)_log], FILENAME = '$(Path1)$(DatabaseName)_log.LDF', MAXSIZE = 2097152 MB, FILEGROWTH = 10 %); - diff --git a/projecttemplates/RelyingPartyLogic/Model.Client.cs b/projecttemplates/RelyingPartyLogic/Model.Client.cs index a2d895e..2b06958 100644 --- a/projecttemplates/RelyingPartyLogic/Model.Client.cs +++ b/projecttemplates/RelyingPartyLogic/Model.Client.cs @@ -7,20 +7,13 @@ namespace RelyingPartyLogic { using System; using System.Collections.Generic; - + using DotNetOpenAuth.Messaging; using DotNetOpenAuth.OAuth2; public partial class Client : IClientDescription { #region IConsumerDescription Members /// <summary> - /// Gets the client secret. - /// </summary> - string IClientDescription.Secret { - get { return this.ClientSecret; } - } - - /// <summary> /// Gets the callback to use when an individual authorization request /// does not include an explicit callback URI. /// </summary> @@ -39,6 +32,26 @@ namespace RelyingPartyLogic { } /// <summary> + /// Gets a value indicating whether a non-empty secret is registered for this client. + /// </summary> + bool IClientDescription.HasNonEmptySecret { + get { return !string.IsNullOrEmpty(this.ClientSecret); } + } + + /// <summary> + /// Checks whether the specified client secret is correct. + /// </summary> + /// <param name="secret">The secret obtained from the client.</param> + /// <returns><c>true</c> if the secret matches the one in the authorization server's record for the client; <c>false</c> otherwise.</returns> + /// <remarks> + /// All string equality checks, whether checking secrets or their hashes, + /// should be done using <see cref="MessagingUtilities.EqualsConstantTime"/> to mitigate timing attacks. + /// </remarks> + bool IClientDescription.IsValidClientSecret(string secret) { + return MessagingUtilities.EqualsConstantTime(secret, this.ClientSecret); + } + + /// <summary> /// Determines whether a callback URI included in a client's authorization request /// is among those allowed callbacks for the registered client. /// </summary> diff --git a/projecttemplates/RelyingPartyLogic/Model.Designer.cs b/projecttemplates/RelyingPartyLogic/Model.Designer.cs index 8dddc2d..df854b4 100644 --- a/projecttemplates/RelyingPartyLogic/Model.Designer.cs +++ b/projecttemplates/RelyingPartyLogic/Model.Designer.cs @@ -1,251 +1,287 @@ //------------------------------------------------------------------------------ // <auto-generated> -// This code was generated by a tool. -// Runtime Version:4.0.30319.239 +// This code was generated from a template. // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. // </auto-generated> //------------------------------------------------------------------------------ -[assembly: global::System.Data.Objects.DataClasses.EdmSchemaAttribute()] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("DatabaseModel", "UserRole", "Role", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.Role), "User", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.User))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("DatabaseModel", "FK_AuthenticationToken_User", "User", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(RelyingPartyLogic.User), "AuthenticationToken", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.AuthenticationToken))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("DatabaseModel", "FK_IssuedToken_Consumer", "Client", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(RelyingPartyLogic.Client), "ClientAuthorization", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.ClientAuthorization))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("DatabaseModel", "FK_IssuedToken_User", "User", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(RelyingPartyLogic.User), "ClientAuthorization", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.ClientAuthorization))] +using System; +using System.ComponentModel; +using System.Data.EntityClient; +using System.Data.Objects; +using System.Data.Objects.DataClasses; +using System.Linq; +using System.Runtime.Serialization; +using System.Xml.Serialization; + +[assembly: EdmSchemaAttribute()] +#region EDM Relationship Metadata + +[assembly: EdmRelationshipAttribute("DatabaseModel", "UserRole", "Role", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.Role), "User", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.User))] +[assembly: EdmRelationshipAttribute("DatabaseModel", "FK_AuthenticationToken_User", "User", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(RelyingPartyLogic.User), "AuthenticationToken", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.AuthenticationToken))] +[assembly: EdmRelationshipAttribute("DatabaseModel", "FK_IssuedToken_Consumer", "Client", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(RelyingPartyLogic.Client), "ClientAuthorization", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.ClientAuthorization))] +[assembly: EdmRelationshipAttribute("DatabaseModel", "FK_IssuedToken_User", "User", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(RelyingPartyLogic.User), "ClientAuthorization", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(RelyingPartyLogic.ClientAuthorization))] + +#endregion -// Original file name: -// Generation date: 2/19/2012 9:18:26 PM namespace RelyingPartyLogic { + #region Contexts /// <summary> - /// There are no comments for DatabaseEntities in the schema. + /// No Metadata Documentation available. /// </summary> - public partial class DatabaseEntities : global::System.Data.Objects.ObjectContext + public partial class DatabaseEntities : ObjectContext { + #region Constructors + /// <summary> /// Initializes a new DatabaseEntities object using the connection string found in the 'DatabaseEntities' section of the application configuration file. /// </summary> - public DatabaseEntities() : - base("name=DatabaseEntities", "DatabaseEntities") + public DatabaseEntities() : base("name=DatabaseEntities", "DatabaseEntities") { - this.OnContextCreated(); + OnContextCreated(); } + /// <summary> /// Initialize a new DatabaseEntities object. /// </summary> - public DatabaseEntities(string connectionString) : - base(connectionString, "DatabaseEntities") + public DatabaseEntities(string connectionString) : base(connectionString, "DatabaseEntities") { - this.OnContextCreated(); + OnContextCreated(); } + /// <summary> /// Initialize a new DatabaseEntities object. /// </summary> - public DatabaseEntities(global::System.Data.EntityClient.EntityConnection connection) : - base(connection, "DatabaseEntities") + public DatabaseEntities(EntityConnection connection) : base(connection, "DatabaseEntities") { - this.OnContextCreated(); + OnContextCreated(); } + + #endregion + + #region Partial Methods + partial void OnContextCreated(); + + #endregion + + #region ObjectSet Properties + /// <summary> - /// There are no comments for Roles in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.Data.Objects.ObjectQuery<Role> Roles + public ObjectSet<Role> Roles { get { - if ((this._Roles == null)) + if ((_Roles == null)) { - this._Roles = base.CreateQuery<Role>("[Roles]"); + _Roles = base.CreateObjectSet<Role>("Roles"); } - return this._Roles; + return _Roles; } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.Data.Objects.ObjectQuery<Role> _Roles; + private ObjectSet<Role> _Roles; + /// <summary> - /// There are no comments for Users in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.Data.Objects.ObjectQuery<User> Users + public ObjectSet<User> Users { get { - if ((this._Users == null)) + if ((_Users == null)) { - this._Users = base.CreateQuery<User>("[Users]"); + _Users = base.CreateObjectSet<User>("Users"); } - return this._Users; + return _Users; } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.Data.Objects.ObjectQuery<User> _Users; + private ObjectSet<User> _Users; + /// <summary> - /// There are no comments for AuthenticationTokens in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.Data.Objects.ObjectQuery<AuthenticationToken> AuthenticationTokens + public ObjectSet<AuthenticationToken> AuthenticationTokens { get { - if ((this._AuthenticationTokens == null)) + if ((_AuthenticationTokens == null)) { - this._AuthenticationTokens = base.CreateQuery<AuthenticationToken>("[AuthenticationTokens]"); + _AuthenticationTokens = base.CreateObjectSet<AuthenticationToken>("AuthenticationTokens"); } - return this._AuthenticationTokens; + return _AuthenticationTokens; } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.Data.Objects.ObjectQuery<AuthenticationToken> _AuthenticationTokens; + private ObjectSet<AuthenticationToken> _AuthenticationTokens; + /// <summary> - /// There are no comments for Nonces in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.Data.Objects.ObjectQuery<Nonce> Nonces + public ObjectSet<Nonce> Nonces { get { - if ((this._Nonces == null)) + if ((_Nonces == null)) { - this._Nonces = base.CreateQuery<Nonce>("[Nonces]"); + _Nonces = base.CreateObjectSet<Nonce>("Nonces"); } - return this._Nonces; + return _Nonces; } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.Data.Objects.ObjectQuery<Nonce> _Nonces; + private ObjectSet<Nonce> _Nonces; + /// <summary> - /// There are no comments for Clients in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.Data.Objects.ObjectQuery<Client> Clients + public ObjectSet<Client> Clients { get { - if ((this._Clients == null)) + if ((_Clients == null)) { - this._Clients = base.CreateQuery<Client>("[Clients]"); + _Clients = base.CreateObjectSet<Client>("Clients"); } - return this._Clients; + return _Clients; } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.Data.Objects.ObjectQuery<Client> _Clients; + private ObjectSet<Client> _Clients; + /// <summary> - /// There are no comments for ClientAuthorizations in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.Data.Objects.ObjectQuery<ClientAuthorization> ClientAuthorizations + public ObjectSet<ClientAuthorization> ClientAuthorizations { get { - if ((this._ClientAuthorizations == null)) + if ((_ClientAuthorizations == null)) { - this._ClientAuthorizations = base.CreateQuery<ClientAuthorization>("[ClientAuthorizations]"); + _ClientAuthorizations = base.CreateObjectSet<ClientAuthorization>("ClientAuthorizations"); } - return this._ClientAuthorizations; + return _ClientAuthorizations; } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.Data.Objects.ObjectQuery<ClientAuthorization> _ClientAuthorizations; + private ObjectSet<ClientAuthorization> _ClientAuthorizations; + /// <summary> - /// There are no comments for SymmetricCryptoKeys in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.Data.Objects.ObjectQuery<SymmetricCryptoKey> SymmetricCryptoKeys + public ObjectSet<SymmetricCryptoKey> SymmetricCryptoKeys { get { - if ((this._SymmetricCryptoKeys == null)) + if ((_SymmetricCryptoKeys == null)) { - this._SymmetricCryptoKeys = base.CreateQuery<SymmetricCryptoKey>("[SymmetricCryptoKeys]"); + _SymmetricCryptoKeys = base.CreateObjectSet<SymmetricCryptoKey>("SymmetricCryptoKeys"); } - return this._SymmetricCryptoKeys; + return _SymmetricCryptoKeys; } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.Data.Objects.ObjectQuery<SymmetricCryptoKey> _SymmetricCryptoKeys; + private ObjectSet<SymmetricCryptoKey> _SymmetricCryptoKeys; + + #endregion + + #region AddTo Methods + /// <summary> - /// There are no comments for Roles in the schema. + /// Deprecated Method for adding a new object to the Roles EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] public void AddToRoles(Role role) { base.AddObject("Roles", role); } + /// <summary> - /// There are no comments for Users in the schema. + /// Deprecated Method for adding a new object to the Users EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] public void AddToUsers(User user) { base.AddObject("Users", user); } + /// <summary> - /// There are no comments for AuthenticationTokens in the schema. + /// Deprecated Method for adding a new object to the AuthenticationTokens EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] public void AddToAuthenticationTokens(AuthenticationToken authenticationToken) { base.AddObject("AuthenticationTokens", authenticationToken); } + /// <summary> - /// There are no comments for Nonces in the schema. + /// Deprecated Method for adding a new object to the Nonces EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] public void AddToNonces(Nonce nonce) { base.AddObject("Nonces", nonce); } + /// <summary> - /// There are no comments for Clients in the schema. + /// Deprecated Method for adding a new object to the Clients EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] public void AddToClients(Client client) { base.AddObject("Clients", client); } + /// <summary> - /// There are no comments for ClientAuthorizations in the schema. + /// Deprecated Method for adding a new object to the ClientAuthorizations EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] public void AddToClientAuthorizations(ClientAuthorization clientAuthorization) { base.AddObject("ClientAuthorizations", clientAuthorization); } + /// <summary> - /// There are no comments for SymmetricCryptoKeys in the schema. + /// Deprecated Method for adding a new object to the SymmetricCryptoKeys EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] public void AddToSymmetricCryptoKeys(SymmetricCryptoKey symmetricCryptoKey) { base.AddObject("SymmetricCryptoKeys", symmetricCryptoKey); } + + #endregion + + #region Function Imports + + /// <summary> + /// No Metadata Documentation available. + /// </summary> + public int ClearExpiredNonces() + { + return base.ExecuteFunction("ClearExpiredNonces"); + } + + #endregion + } + + #endregion + + #region Entities + /// <summary> - /// There are no comments for DatabaseModel.AuthenticationToken in the schema. + /// No Metadata Documentation available. /// </summary> - /// <KeyProperties> - /// AuthenticationTokenId - /// </KeyProperties> - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="AuthenticationToken")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class AuthenticationToken : global::System.Data.Objects.DataClasses.EntityObject + [EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="AuthenticationToken")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class AuthenticationToken : EntityObject { + #region Factory Method + /// <summary> /// Create a new AuthenticationToken object. /// </summary> - /// <param name="claimedIdentifier">Initial value of ClaimedIdentifier.</param> - /// <param name="createdOnUtc">Initial value of CreatedOnUtc.</param> - /// <param name="lastUsedUtc">Initial value of LastUsedUtc.</param> - /// <param name="usageCount">Initial value of UsageCount.</param> - /// <param name="authenticationTokenId">Initial value of AuthenticationTokenId.</param> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public static AuthenticationToken CreateAuthenticationToken(string claimedIdentifier, global::System.DateTime createdOnUtc, global::System.DateTime lastUsedUtc, int usageCount, int authenticationTokenId) + /// <param name="claimedIdentifier">Initial value of the ClaimedIdentifier property.</param> + /// <param name="createdOnUtc">Initial value of the CreatedOnUtc property.</param> + /// <param name="lastUsedUtc">Initial value of the LastUsedUtc property.</param> + /// <param name="usageCount">Initial value of the UsageCount property.</param> + /// <param name="authenticationTokenId">Initial value of the AuthenticationTokenId property.</param> + public static AuthenticationToken CreateAuthenticationToken(global::System.String claimedIdentifier, global::System.DateTime createdOnUtc, global::System.DateTime lastUsedUtc, global::System.Int32 usageCount, global::System.Int32 authenticationTokenId) { AuthenticationToken authenticationToken = new AuthenticationToken(); authenticationToken.ClaimedIdentifier = claimedIdentifier; @@ -255,585 +291,644 @@ namespace RelyingPartyLogic authenticationToken.AuthenticationTokenId = authenticationTokenId; return authenticationToken; } + + #endregion + + #region Primitive Properties + /// <summary> - /// There are no comments for property ClaimedIdentifier in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string ClaimedIdentifier + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String ClaimedIdentifier { get { - return this._ClaimedIdentifier; + return _ClaimedIdentifier; } set { - this.OnClaimedIdentifierChanging(value); - this.ReportPropertyChanging("ClaimedIdentifier"); - this._ClaimedIdentifier = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("ClaimedIdentifier"); - this.OnClaimedIdentifierChanged(); + OnClaimedIdentifierChanging(value); + ReportPropertyChanging("ClaimedIdentifier"); + _ClaimedIdentifier = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("ClaimedIdentifier"); + OnClaimedIdentifierChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _ClaimedIdentifier; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnClaimedIdentifierChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + private global::System.String _ClaimedIdentifier; + partial void OnClaimedIdentifierChanging(global::System.String value); partial void OnClaimedIdentifierChanged(); + /// <summary> - /// There are no comments for property FriendlyIdentifier in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string FriendlyIdentifier + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String FriendlyIdentifier { get { - return this._FriendlyIdentifier; + return _FriendlyIdentifier; } set { - this.OnFriendlyIdentifierChanging(value); - this.ReportPropertyChanging("FriendlyIdentifier"); - this._FriendlyIdentifier = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("FriendlyIdentifier"); - this.OnFriendlyIdentifierChanged(); + OnFriendlyIdentifierChanging(value); + ReportPropertyChanging("FriendlyIdentifier"); + _FriendlyIdentifier = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("FriendlyIdentifier"); + OnFriendlyIdentifierChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _FriendlyIdentifier; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnFriendlyIdentifierChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + private global::System.String _FriendlyIdentifier; + partial void OnFriendlyIdentifierChanging(global::System.String value); partial void OnFriendlyIdentifierChanged(); + /// <summary> - /// There are no comments for property CreatedOnUtc in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] public global::System.DateTime CreatedOnUtc { get { - return this._CreatedOnUtc; + return _CreatedOnUtc; } private set { - this.OnCreatedOnUtcChanging(value); - this.ReportPropertyChanging("CreatedOnUtc"); - this._CreatedOnUtc = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("CreatedOnUtc"); - this.OnCreatedOnUtcChanged(); + OnCreatedOnUtcChanging(value); + ReportPropertyChanging("CreatedOnUtc"); + _CreatedOnUtc = StructuralObject.SetValidValue(value); + ReportPropertyChanged("CreatedOnUtc"); + OnCreatedOnUtcChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] private global::System.DateTime _CreatedOnUtc; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnCreatedOnUtcChanging(global::System.DateTime value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnCreatedOnUtcChanged(); + /// <summary> - /// There are no comments for property LastUsedUtc in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] public global::System.DateTime LastUsedUtc { get { - return this._LastUsedUtc; + return _LastUsedUtc; } set { - this.OnLastUsedUtcChanging(value); - this.ReportPropertyChanging("LastUsedUtc"); - this._LastUsedUtc = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("LastUsedUtc"); - this.OnLastUsedUtcChanged(); + OnLastUsedUtcChanging(value); + ReportPropertyChanging("LastUsedUtc"); + _LastUsedUtc = StructuralObject.SetValidValue(value); + ReportPropertyChanged("LastUsedUtc"); + OnLastUsedUtcChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] private global::System.DateTime _LastUsedUtc; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnLastUsedUtcChanging(global::System.DateTime value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnLastUsedUtcChanged(); + /// <summary> - /// There are no comments for property UsageCount in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public int UsageCount + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 UsageCount { get { - return this._UsageCount; + return _UsageCount; } set { - this.OnUsageCountChanging(value); - this.ReportPropertyChanging("UsageCount"); - this._UsageCount = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("UsageCount"); - this.OnUsageCountChanged(); + OnUsageCountChanging(value); + ReportPropertyChanging("UsageCount"); + _UsageCount = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UsageCount"); + OnUsageCountChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private int _UsageCount; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnUsageCountChanging(int value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + private global::System.Int32 _UsageCount; + partial void OnUsageCountChanging(global::System.Int32 value); partial void OnUsageCountChanged(); + /// <summary> - /// There are no comments for property AuthenticationTokenId in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public int AuthenticationTokenId + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 AuthenticationTokenId { get { - return this._AuthenticationTokenId; + return _AuthenticationTokenId; } private set { - this.OnAuthenticationTokenIdChanging(value); - this.ReportPropertyChanging("AuthenticationTokenId"); - this._AuthenticationTokenId = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("AuthenticationTokenId"); - this.OnAuthenticationTokenIdChanged(); + if (_AuthenticationTokenId != value) + { + OnAuthenticationTokenIdChanging(value); + ReportPropertyChanging("AuthenticationTokenId"); + _AuthenticationTokenId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("AuthenticationTokenId"); + OnAuthenticationTokenIdChanged(); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private int _AuthenticationTokenId; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnAuthenticationTokenIdChanging(int value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + private global::System.Int32 _AuthenticationTokenId; + partial void OnAuthenticationTokenIdChanging(global::System.Int32 value); partial void OnAuthenticationTokenIdChanged(); + + #endregion + + + #region Navigation Properties + /// <summary> - /// There are no comments for User in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_AuthenticationToken_User", "User")] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_AuthenticationToken_User", "User")] public User User { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_AuthenticationToken_User", "User").Value; + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_AuthenticationToken_User", "User").Value; } set { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_AuthenticationToken_User", "User").Value = value; + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_AuthenticationToken_User", "User").Value = value; } } /// <summary> - /// There are no comments for User in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference<User> UserReference + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference<User> UserReference { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_AuthenticationToken_User", "User"); + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_AuthenticationToken_User", "User"); } set { if ((value != null)) { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<User>("DatabaseModel.FK_AuthenticationToken_User", "User", value); + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<User>("DatabaseModel.FK_AuthenticationToken_User", "User", value); } } } + + #endregion + } + /// <summary> - /// There are no comments for DatabaseModel.Role in the schema. + /// No Metadata Documentation available. /// </summary> - /// <KeyProperties> - /// RoleId - /// </KeyProperties> - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="Role")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Role : global::System.Data.Objects.DataClasses.EntityObject + [EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="Client")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Client : EntityObject { + #region Factory Method + /// <summary> - /// Create a new Role object. + /// Create a new Client object. /// </summary> - /// <param name="name">Initial value of Name.</param> - /// <param name="roleId">Initial value of RoleId.</param> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public static Role CreateRole(string name, int roleId) + /// <param name="clientId">Initial value of the ClientId property.</param> + /// <param name="clientIdentifier">Initial value of the ClientIdentifier property.</param> + /// <param name="name">Initial value of the Name property.</param> + /// <param name="clientType">Initial value of the ClientType property.</param> + public static Client CreateClient(global::System.Int32 clientId, global::System.String clientIdentifier, global::System.String name, global::System.Int32 clientType) { - Role role = new Role(); - role.Name = name; - role.RoleId = roleId; - return role; + Client client = new Client(); + client.ClientId = clientId; + client.ClientIdentifier = clientIdentifier; + client.Name = name; + client.ClientType = clientType; + return client; } + + #endregion + + #region Primitive Properties + /// <summary> - /// There are no comments for property Name in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string Name + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 ClientId { get { - return this._Name; + return _ClientId; } set { - this.OnNameChanging(value); - this.ReportPropertyChanging("Name"); - this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("Name"); - this.OnNameChanged(); + if (_ClientId != value) + { + OnClientIdChanging(value); + ReportPropertyChanging("ClientId"); + _ClientId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ClientId"); + OnClientIdChanged(); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _Name; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnNameChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnNameChanged(); + private global::System.Int32 _ClientId; + partial void OnClientIdChanging(global::System.Int32 value); + partial void OnClientIdChanged(); + /// <summary> - /// There are no comments for property RoleId in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public int RoleId + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String ClientIdentifier { get { - return this._RoleId; + return _ClientIdentifier; } - private set + set { - this.OnRoleIdChanging(value); - this.ReportPropertyChanging("RoleId"); - this._RoleId = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("RoleId"); - this.OnRoleIdChanged(); + OnClientIdentifierChanging(value); + ReportPropertyChanging("ClientIdentifier"); + _ClientIdentifier = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("ClientIdentifier"); + OnClientIdentifierChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private int _RoleId; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnRoleIdChanging(int value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnRoleIdChanged(); + private global::System.String _ClientIdentifier; + partial void OnClientIdentifierChanging(global::System.String value); + partial void OnClientIdentifierChanged(); + /// <summary> - /// There are no comments for Users in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "UserRole", "User")] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection<User> Users + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ClientSecret { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<User>("DatabaseModel.UserRole", "User"); + return _ClientSecret; } set { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<User>("DatabaseModel.UserRole", "User", value); - } + OnClientSecretChanging(value); + ReportPropertyChanging("ClientSecret"); + _ClientSecret = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ClientSecret"); + OnClientSecretChanged(); } } - } - /// <summary> - /// There are no comments for DatabaseModel.User in the schema. - /// </summary> - /// <KeyProperties> - /// UserId - /// </KeyProperties> - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="User")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class User : global::System.Data.Objects.DataClasses.EntityObject - { + private global::System.String _ClientSecret; + partial void OnClientSecretChanging(global::System.String value); + partial void OnClientSecretChanged(); + /// <summary> - /// Create a new User object. + /// No Metadata Documentation available. /// </summary> - /// <param name="emailAddressVerified">Initial value of EmailAddressVerified.</param> - /// <param name="createdOnUtc">Initial value of CreatedOnUtc.</param> - /// <param name="userId">Initial value of UserId.</param> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public static User CreateUser(bool emailAddressVerified, global::System.DateTime createdOnUtc, int userId) + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String CallbackAsString { - User user = new User(); - user.EmailAddressVerified = emailAddressVerified; - user.CreatedOnUtc = createdOnUtc; - user.UserId = userId; - return user; + get + { + return _CallbackAsString; + } + set + { + OnCallbackAsStringChanging(value); + ReportPropertyChanging("CallbackAsString"); + _CallbackAsString = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("CallbackAsString"); + OnCallbackAsStringChanged(); + } } + private global::System.String _CallbackAsString; + partial void OnCallbackAsStringChanging(global::System.String value); + partial void OnCallbackAsStringChanged(); + /// <summary> - /// There are no comments for property FirstName in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string FirstName + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name { get { - return this._FirstName; + return _Name; } set { - this.OnFirstNameChanging(value); - this.ReportPropertyChanging("FirstName"); - this._FirstName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("FirstName"); - this.OnFirstNameChanged(); + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _FirstName; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnFirstNameChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnFirstNameChanged(); + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + /// <summary> - /// There are no comments for property LastName in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string LastName + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 ClientType { get { - return this._LastName; + return _ClientType; } set { - this.OnLastNameChanging(value); - this.ReportPropertyChanging("LastName"); - this._LastName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("LastName"); - this.OnLastNameChanged(); + OnClientTypeChanging(value); + ReportPropertyChanging("ClientType"); + _ClientType = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ClientType"); + OnClientTypeChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _LastName; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnLastNameChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnLastNameChanged(); + private global::System.Int32 _ClientType; + partial void OnClientTypeChanging(global::System.Int32 value); + partial void OnClientTypeChanged(); + + #endregion + + + #region Navigation Properties + /// <summary> - /// The email address claimed to be controlled by the user. Whether it is actually owned by the user is indicated by the EmailAddressVerified property. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string EmailAddress + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_Consumer", "ClientAuthorization")] + public EntityCollection<ClientAuthorization> ClientAuthorizations { get { - return this._EmailAddress; + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<ClientAuthorization>("DatabaseModel.FK_IssuedToken_Consumer", "ClientAuthorization"); } set { - this.OnEmailAddressChanging(value); - this.ReportPropertyChanging("EmailAddress"); - this._EmailAddress = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("EmailAddress"); - this.OnEmailAddressChanged(); + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<ClientAuthorization>("DatabaseModel.FK_IssuedToken_Consumer", "ClientAuthorization", value); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _EmailAddress; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnEmailAddressChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnEmailAddressChanged(); + + #endregion + + } + + /// <summary> + /// No Metadata Documentation available. + /// </summary> + [EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="ClientAuthorization")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class ClientAuthorization : EntityObject + { + #region Factory Method + /// <summary> - /// A value indicating whether the email address has been verified as actually owned by this user. + /// Create a new ClientAuthorization object. + /// </summary> + /// <param name="authorizationId">Initial value of the AuthorizationId property.</param> + /// <param name="createdOnUtc">Initial value of the CreatedOnUtc property.</param> + public static ClientAuthorization CreateClientAuthorization(global::System.Int32 authorizationId, global::System.DateTime createdOnUtc) + { + ClientAuthorization clientAuthorization = new ClientAuthorization(); + clientAuthorization.AuthorizationId = authorizationId; + clientAuthorization.CreatedOnUtc = createdOnUtc; + return clientAuthorization; + } + + #endregion + + #region Primitive Properties + + /// <summary> + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public bool EmailAddressVerified + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 AuthorizationId { get { - return this._EmailAddressVerified; + return _AuthorizationId; } set { - this.OnEmailAddressVerifiedChanging(value); - this.ReportPropertyChanging("EmailAddressVerified"); - this._EmailAddressVerified = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("EmailAddressVerified"); - this.OnEmailAddressVerifiedChanged(); + if (_AuthorizationId != value) + { + OnAuthorizationIdChanging(value); + ReportPropertyChanging("AuthorizationId"); + _AuthorizationId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("AuthorizationId"); + OnAuthorizationIdChanged(); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private bool _EmailAddressVerified; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnEmailAddressVerifiedChanging(bool value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnEmailAddressVerifiedChanged(); + private global::System.Int32 _AuthorizationId; + partial void OnAuthorizationIdChanging(global::System.Int32 value); + partial void OnAuthorizationIdChanged(); + /// <summary> - /// There are no comments for property CreatedOnUtc in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] public global::System.DateTime CreatedOnUtc { get { - return this._CreatedOnUtc; + return _CreatedOnUtc; } - private set + set { - this.OnCreatedOnUtcChanging(value); - this.ReportPropertyChanging("CreatedOnUtc"); - this._CreatedOnUtc = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("CreatedOnUtc"); - this.OnCreatedOnUtcChanged(); + OnCreatedOnUtcChanging(value); + ReportPropertyChanging("CreatedOnUtc"); + _CreatedOnUtc = StructuralObject.SetValidValue(value); + ReportPropertyChanged("CreatedOnUtc"); + OnCreatedOnUtcChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] private global::System.DateTime _CreatedOnUtc; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnCreatedOnUtcChanging(global::System.DateTime value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnCreatedOnUtcChanged(); + /// <summary> - /// There are no comments for property UserId in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public int UserId + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable<global::System.DateTime> ExpirationDateUtc { get { - return this._UserId; + return _ExpirationDateUtc; } - private set + set { - this.OnUserIdChanging(value); - this.ReportPropertyChanging("UserId"); - this._UserId = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("UserId"); - this.OnUserIdChanged(); + OnExpirationDateUtcChanging(value); + ReportPropertyChanging("ExpirationDateUtc"); + _ExpirationDateUtc = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ExpirationDateUtc"); + OnExpirationDateUtcChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private int _UserId; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnUserIdChanging(int value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnUserIdChanged(); + private Nullable<global::System.DateTime> _ExpirationDateUtc; + partial void OnExpirationDateUtcChanging(Nullable<global::System.DateTime> value); + partial void OnExpirationDateUtcChanged(); + /// <summary> - /// There are no comments for Roles in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "UserRole", "Role")] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection<Role> Roles + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Scope { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<Role>("DatabaseModel.UserRole", "Role"); + return _Scope; } set { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<Role>("DatabaseModel.UserRole", "Role", value); - } + OnScopeChanging(value); + ReportPropertyChanging("Scope"); + _Scope = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Scope"); + OnScopeChanged(); + } + } + private global::System.String _Scope; + partial void OnScopeChanging(global::System.String value); + partial void OnScopeChanged(); + + #endregion + + + #region Navigation Properties + + /// <summary> + /// No Metadata Documentation available. + /// </summary> + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_Consumer", "Client")] + public Client Client + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Client>("DatabaseModel.FK_IssuedToken_Consumer", "Client").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Client>("DatabaseModel.FK_IssuedToken_Consumer", "Client").Value = value; } } /// <summary> - /// There are no comments for AuthenticationTokens in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_AuthenticationToken_User", "AuthenticationToken")] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection<AuthenticationToken> AuthenticationTokens + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference<Client> ClientReference { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<AuthenticationToken>("DatabaseModel.FK_AuthenticationToken_User", "AuthenticationToken"); + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Client>("DatabaseModel.FK_IssuedToken_Consumer", "Client"); } set { if ((value != null)) { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<AuthenticationToken>("DatabaseModel.FK_AuthenticationToken_User", "AuthenticationToken", value); + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Client>("DatabaseModel.FK_IssuedToken_Consumer", "Client", value); } } } + /// <summary> - /// There are no comments for ClientAuthorizations in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_User", "ClientAuthorization")] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection<ClientAuthorization> ClientAuthorizations + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_User", "User")] + public User User { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<ClientAuthorization>("DatabaseModel.FK_IssuedToken_User", "ClientAuthorization"); + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_IssuedToken_User", "User").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_IssuedToken_User", "User").Value = value; + } + } + /// <summary> + /// No Metadata Documentation available. + /// </summary> + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference<User> UserReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_IssuedToken_User", "User"); } set { if ((value != null)) { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<ClientAuthorization>("DatabaseModel.FK_IssuedToken_User", "ClientAuthorization", value); + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<User>("DatabaseModel.FK_IssuedToken_User", "User", value); } } } + + #endregion + } + /// <summary> - /// There are no comments for DatabaseModel.Nonce in the schema. + /// No Metadata Documentation available. /// </summary> - /// <KeyProperties> - /// NonceId - /// </KeyProperties> - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="Nonce")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Nonce : global::System.Data.Objects.DataClasses.EntityObject + [EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="Nonce")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Nonce : EntityObject { + #region Factory Method + /// <summary> /// Create a new Nonce object. /// </summary> - /// <param name="nonceId">Initial value of NonceId.</param> - /// <param name="context">Initial value of Context.</param> - /// <param name="code">Initial value of Code.</param> - /// <param name="issuedUtc">Initial value of IssuedUtc.</param> - /// <param name="expiresUtc">Initial value of ExpiresUtc.</param> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public static Nonce CreateNonce(int nonceId, string context, string code, global::System.DateTime issuedUtc, global::System.DateTime expiresUtc) + /// <param name="nonceId">Initial value of the NonceId property.</param> + /// <param name="context">Initial value of the Context property.</param> + /// <param name="code">Initial value of the Code property.</param> + /// <param name="issuedUtc">Initial value of the IssuedUtc property.</param> + /// <param name="expiresUtc">Initial value of the ExpiresUtc property.</param> + public static Nonce CreateNonce(global::System.Int32 nonceId, global::System.String context, global::System.String code, global::System.DateTime issuedUtc, global::System.DateTime expiresUtc) { Nonce nonce = new Nonce(); nonce.NonceId = nonceId; @@ -843,730 +938,661 @@ namespace RelyingPartyLogic nonce.ExpiresUtc = expiresUtc; return nonce; } + + #endregion + + #region Primitive Properties + /// <summary> - /// There are no comments for property NonceId in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public int NonceId + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 NonceId { get { - return this._NonceId; + return _NonceId; } set { - this.OnNonceIdChanging(value); - this.ReportPropertyChanging("NonceId"); - this._NonceId = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("NonceId"); - this.OnNonceIdChanged(); + if (_NonceId != value) + { + OnNonceIdChanging(value); + ReportPropertyChanging("NonceId"); + _NonceId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("NonceId"); + OnNonceIdChanged(); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private int _NonceId; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnNonceIdChanging(int value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + private global::System.Int32 _NonceId; + partial void OnNonceIdChanging(global::System.Int32 value); partial void OnNonceIdChanged(); + /// <summary> /// Gets or sets the Provider Endpoint URL the nonce came from. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string Context + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Context { get { - return this._Context; + return _Context; } set { - this.OnContextChanging(value); - this.ReportPropertyChanging("Context"); - this._Context = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("Context"); - this.OnContextChanged(); + OnContextChanging(value); + ReportPropertyChanging("Context"); + _Context = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Context"); + OnContextChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _Context; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnContextChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + private global::System.String _Context; + partial void OnContextChanging(global::System.String value); partial void OnContextChanged(); + /// <summary> - /// There are no comments for property Code in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string Code + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Code { get { - return this._Code; + return _Code; } set { - this.OnCodeChanging(value); - this.ReportPropertyChanging("Code"); - this._Code = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("Code"); - this.OnCodeChanged(); + OnCodeChanging(value); + ReportPropertyChanging("Code"); + _Code = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Code"); + OnCodeChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _Code; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnCodeChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + private global::System.String _Code; + partial void OnCodeChanging(global::System.String value); partial void OnCodeChanged(); + /// <summary> - /// There are no comments for property IssuedUtc in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] public global::System.DateTime IssuedUtc { get { - return this._IssuedUtc; + return _IssuedUtc; } set { - this.OnIssuedUtcChanging(value); - this.ReportPropertyChanging("IssuedUtc"); - this._IssuedUtc = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("IssuedUtc"); - this.OnIssuedUtcChanged(); + OnIssuedUtcChanging(value); + ReportPropertyChanging("IssuedUtc"); + _IssuedUtc = StructuralObject.SetValidValue(value); + ReportPropertyChanged("IssuedUtc"); + OnIssuedUtcChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] private global::System.DateTime _IssuedUtc; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnIssuedUtcChanging(global::System.DateTime value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnIssuedUtcChanged(); + /// <summary> - /// There are no comments for property ExpiresUtc in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] public global::System.DateTime ExpiresUtc { get { - return this._ExpiresUtc; + return _ExpiresUtc; } set { - this.OnExpiresUtcChanging(value); - this.ReportPropertyChanging("ExpiresUtc"); - this._ExpiresUtc = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ExpiresUtc"); - this.OnExpiresUtcChanged(); + OnExpiresUtcChanging(value); + ReportPropertyChanging("ExpiresUtc"); + _ExpiresUtc = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ExpiresUtc"); + OnExpiresUtcChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] private global::System.DateTime _ExpiresUtc; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnExpiresUtcChanging(global::System.DateTime value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] partial void OnExpiresUtcChanged(); + + #endregion + + } + /// <summary> - /// There are no comments for DatabaseModel.Client in the schema. + /// No Metadata Documentation available. /// </summary> - /// <KeyProperties> - /// ClientId - /// </KeyProperties> - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="Client")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Client : global::System.Data.Objects.DataClasses.EntityObject + [EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="Role")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Role : EntityObject { + #region Factory Method + /// <summary> - /// Create a new Client object. - /// </summary> - /// <param name="clientId">Initial value of ClientId.</param> - /// <param name="clientIdentifier">Initial value of ClientIdentifier.</param> - /// <param name="name">Initial value of Name.</param> - /// <param name="clientType">Initial value of ClientType.</param> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public static Client CreateClient(int clientId, string clientIdentifier, string name, int clientType) - { - Client client = new Client(); - client.ClientId = clientId; - client.ClientIdentifier = clientIdentifier; - client.Name = name; - client.ClientType = clientType; - return client; - } - /// <summary> - /// There are no comments for property ClientId in the schema. + /// Create a new Role object. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public int ClientId + /// <param name="name">Initial value of the Name property.</param> + /// <param name="roleId">Initial value of the RoleId property.</param> + public static Role CreateRole(global::System.String name, global::System.Int32 roleId) { - get - { - return this._ClientId; - } - set - { - this.OnClientIdChanging(value); - this.ReportPropertyChanging("ClientId"); - this._ClientId = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ClientId"); - this.OnClientIdChanged(); - } + Role role = new Role(); + role.Name = name; + role.RoleId = roleId; + return role; } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private int _ClientId; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnClientIdChanging(int value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnClientIdChanged(); + + #endregion + + #region Primitive Properties + /// <summary> - /// There are no comments for property ClientIdentifier in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string ClientIdentifier + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name { get { - return this._ClientIdentifier; + return _Name; } set { - this.OnClientIdentifierChanging(value); - this.ReportPropertyChanging("ClientIdentifier"); - this._ClientIdentifier = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("ClientIdentifier"); - this.OnClientIdentifierChanged(); + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _ClientIdentifier; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnClientIdentifierChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnClientIdentifierChanged(); + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + /// <summary> - /// There are no comments for property ClientSecret in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string ClientSecret + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 RoleId { get { - return this._ClientSecret; + return _RoleId; } - set + private set { - this.OnClientSecretChanging(value); - this.ReportPropertyChanging("ClientSecret"); - this._ClientSecret = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ClientSecret"); - this.OnClientSecretChanged(); + if (_RoleId != value) + { + OnRoleIdChanging(value); + ReportPropertyChanging("RoleId"); + _RoleId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RoleId"); + OnRoleIdChanged(); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _ClientSecret; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnClientSecretChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnClientSecretChanged(); + private global::System.Int32 _RoleId; + partial void OnRoleIdChanging(global::System.Int32 value); + partial void OnRoleIdChanged(); + + #endregion + + + #region Navigation Properties + /// <summary> - /// There are no comments for property CallbackAsString in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string CallbackAsString + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "UserRole", "User")] + public EntityCollection<User> Users { get { - return this._CallbackAsString; + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<User>("DatabaseModel.UserRole", "User"); } set { - this.OnCallbackAsStringChanging(value); - this.ReportPropertyChanging("CallbackAsString"); - this._CallbackAsString = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("CallbackAsString"); - this.OnCallbackAsStringChanged(); + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<User>("DatabaseModel.UserRole", "User", value); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _CallbackAsString; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnCallbackAsStringChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnCallbackAsStringChanged(); + + #endregion + + } + + /// <summary> + /// No Metadata Documentation available. + /// </summary> + [EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="SymmetricCryptoKey")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class SymmetricCryptoKey : EntityObject + { + #region Factory Method + /// <summary> - /// There are no comments for property Name in the schema. + /// Create a new SymmetricCryptoKey object. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string Name + /// <param name="cryptoKeyId">Initial value of the CryptoKeyId property.</param> + /// <param name="bucket">Initial value of the Bucket property.</param> + /// <param name="handle">Initial value of the Handle property.</param> + /// <param name="expirationUtc">Initial value of the ExpirationUtc property.</param> + /// <param name="secret">Initial value of the Secret property.</param> + public static SymmetricCryptoKey CreateSymmetricCryptoKey(global::System.Int32 cryptoKeyId, global::System.String bucket, global::System.String handle, global::System.DateTime expirationUtc, global::System.Byte[] secret) { - get - { - return this._Name; - } - set - { - this.OnNameChanging(value); - this.ReportPropertyChanging("Name"); - this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("Name"); - this.OnNameChanged(); - } + SymmetricCryptoKey symmetricCryptoKey = new SymmetricCryptoKey(); + symmetricCryptoKey.CryptoKeyId = cryptoKeyId; + symmetricCryptoKey.Bucket = bucket; + symmetricCryptoKey.Handle = handle; + symmetricCryptoKey.ExpirationUtc = expirationUtc; + symmetricCryptoKey.Secret = secret; + return symmetricCryptoKey; } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _Name; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnNameChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnNameChanged(); + + #endregion + + #region Primitive Properties + /// <summary> - /// There are no comments for property ClientType in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public int ClientType + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 CryptoKeyId { get { - return this._ClientType; + return _CryptoKeyId; } set { - this.OnClientTypeChanging(value); - this.ReportPropertyChanging("ClientType"); - this._ClientType = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ClientType"); - this.OnClientTypeChanged(); + if (_CryptoKeyId != value) + { + OnCryptoKeyIdChanging(value); + ReportPropertyChanging("CryptoKeyId"); + _CryptoKeyId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("CryptoKeyId"); + OnCryptoKeyIdChanged(); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private int _ClientType; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnClientTypeChanging(int value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnClientTypeChanged(); + private global::System.Int32 _CryptoKeyId; + partial void OnCryptoKeyIdChanging(global::System.Int32 value); + partial void OnCryptoKeyIdChanged(); + /// <summary> - /// There are no comments for ClientAuthorizations in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_Consumer", "ClientAuthorization")] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection<ClientAuthorization> ClientAuthorizations + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Bucket { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<ClientAuthorization>("DatabaseModel.FK_IssuedToken_Consumer", "ClientAuthorization"); + return _Bucket; } set { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<ClientAuthorization>("DatabaseModel.FK_IssuedToken_Consumer", "ClientAuthorization", value); - } + OnBucketChanging(value); + ReportPropertyChanging("Bucket"); + _Bucket = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Bucket"); + OnBucketChanged(); } } - } - /// <summary> - /// There are no comments for DatabaseModel.ClientAuthorization in the schema. - /// </summary> - /// <KeyProperties> - /// AuthorizationId - /// </KeyProperties> - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="ClientAuthorization")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class ClientAuthorization : global::System.Data.Objects.DataClasses.EntityObject - { - /// <summary> - /// Create a new ClientAuthorization object. - /// </summary> - /// <param name="authorizationId">Initial value of AuthorizationId.</param> - /// <param name="createdOnUtc">Initial value of CreatedOnUtc.</param> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public static ClientAuthorization CreateClientAuthorization(int authorizationId, global::System.DateTime createdOnUtc) - { - ClientAuthorization clientAuthorization = new ClientAuthorization(); - clientAuthorization.AuthorizationId = authorizationId; - clientAuthorization.CreatedOnUtc = createdOnUtc; - return clientAuthorization; - } + private global::System.String _Bucket; + partial void OnBucketChanging(global::System.String value); + partial void OnBucketChanged(); + /// <summary> - /// There are no comments for property AuthorizationId in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public int AuthorizationId + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Handle { get { - return this._AuthorizationId; + return _Handle; } set { - this.OnAuthorizationIdChanging(value); - this.ReportPropertyChanging("AuthorizationId"); - this._AuthorizationId = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("AuthorizationId"); - this.OnAuthorizationIdChanged(); + OnHandleChanging(value); + ReportPropertyChanging("Handle"); + _Handle = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Handle"); + OnHandleChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private int _AuthorizationId; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnAuthorizationIdChanging(int value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnAuthorizationIdChanged(); + private global::System.String _Handle; + partial void OnHandleChanging(global::System.String value); + partial void OnHandleChanged(); + /// <summary> - /// There are no comments for property CreatedOnUtc in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.DateTime CreatedOnUtc + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.DateTime ExpirationUtc { get { - return this._CreatedOnUtc; + return _ExpirationUtc; } set { - this.OnCreatedOnUtcChanging(value); - this.ReportPropertyChanging("CreatedOnUtc"); - this._CreatedOnUtc = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("CreatedOnUtc"); - this.OnCreatedOnUtcChanged(); + OnExpirationUtcChanging(value); + ReportPropertyChanging("ExpirationUtc"); + _ExpirationUtc = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ExpirationUtc"); + OnExpirationUtcChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.DateTime _CreatedOnUtc; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnCreatedOnUtcChanging(global::System.DateTime value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnCreatedOnUtcChanged(); + private global::System.DateTime _ExpirationUtc; + partial void OnExpirationUtcChanging(global::System.DateTime value); + partial void OnExpirationUtcChanged(); + /// <summary> - /// There are no comments for property ExpirationDateUtc in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.Nullable<global::System.DateTime> ExpirationDateUtc + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Byte[] Secret { get { - return this._ExpirationDateUtc; + return StructuralObject.GetValidValue(_Secret); } set { - this.OnExpirationDateUtcChanging(value); - this.ReportPropertyChanging("ExpirationDateUtc"); - this._ExpirationDateUtc = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ExpirationDateUtc"); - this.OnExpirationDateUtcChanged(); + OnSecretChanging(value); + ReportPropertyChanging("Secret"); + _Secret = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Secret"); + OnSecretChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.Nullable<global::System.DateTime> _ExpirationDateUtc; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnExpirationDateUtcChanging(global::System.Nullable<global::System.DateTime> value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnExpirationDateUtcChanged(); + private global::System.Byte[] _Secret; + partial void OnSecretChanging(global::System.Byte[] value); + partial void OnSecretChanged(); + + #endregion + + + } + + /// <summary> + /// No Metadata Documentation available. + /// </summary> + [EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="User")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class User : EntityObject + { + #region Factory Method + /// <summary> - /// There are no comments for property Scope in the schema. + /// Create a new User object. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string Scope + /// <param name="emailAddressVerified">Initial value of the EmailAddressVerified property.</param> + /// <param name="createdOnUtc">Initial value of the CreatedOnUtc property.</param> + /// <param name="userId">Initial value of the UserId property.</param> + public static User CreateUser(global::System.Boolean emailAddressVerified, global::System.DateTime createdOnUtc, global::System.Int32 userId) { - get - { - return this._Scope; - } - set - { - this.OnScopeChanging(value); - this.ReportPropertyChanging("Scope"); - this._Scope = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Scope"); - this.OnScopeChanged(); - } + User user = new User(); + user.EmailAddressVerified = emailAddressVerified; + user.CreatedOnUtc = createdOnUtc; + user.UserId = userId; + return user; } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _Scope; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnScopeChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnScopeChanged(); + + #endregion + + #region Primitive Properties + /// <summary> - /// There are no comments for Client in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_Consumer", "Client")] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public Client Client + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String FirstName { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Client>("DatabaseModel.FK_IssuedToken_Consumer", "Client").Value; + return _FirstName; } set { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Client>("DatabaseModel.FK_IssuedToken_Consumer", "Client").Value = value; + OnFirstNameChanging(value); + ReportPropertyChanging("FirstName"); + _FirstName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("FirstName"); + OnFirstNameChanged(); } } + private global::System.String _FirstName; + partial void OnFirstNameChanging(global::System.String value); + partial void OnFirstNameChanged(); + /// <summary> - /// There are no comments for Client in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference<Client> ClientReference + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String LastName { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Client>("DatabaseModel.FK_IssuedToken_Consumer", "Client"); + return _LastName; } set { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Client>("DatabaseModel.FK_IssuedToken_Consumer", "Client", value); - } + OnLastNameChanging(value); + ReportPropertyChanging("LastName"); + _LastName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("LastName"); + OnLastNameChanged(); } } + private global::System.String _LastName; + partial void OnLastNameChanging(global::System.String value); + partial void OnLastNameChanged(); + /// <summary> - /// There are no comments for User in the schema. + /// The email address claimed to be controlled by the user. Whether it is actually owned by the user is indicated by the EmailAddressVerified property. /// </summary> - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_User", "User")] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public User User + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String EmailAddress { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_IssuedToken_User", "User").Value; + return _EmailAddress; } set { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_IssuedToken_User", "User").Value = value; + OnEmailAddressChanging(value); + ReportPropertyChanging("EmailAddress"); + _EmailAddress = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("EmailAddress"); + OnEmailAddressChanged(); } } + private global::System.String _EmailAddress; + partial void OnEmailAddressChanging(global::System.String value); + partial void OnEmailAddressChanged(); + /// <summary> - /// There are no comments for User in the schema. + /// A value indicating whether the email address has been verified as actually owned by this user. /// </summary> - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference<User> UserReference + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean EmailAddressVerified { get { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<User>("DatabaseModel.FK_IssuedToken_User", "User"); + return _EmailAddressVerified; } set { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<User>("DatabaseModel.FK_IssuedToken_User", "User", value); - } + OnEmailAddressVerifiedChanging(value); + ReportPropertyChanging("EmailAddressVerified"); + _EmailAddressVerified = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmailAddressVerified"); + OnEmailAddressVerifiedChanged(); } } - } - /// <summary> - /// There are no comments for DatabaseModel.SymmetricCryptoKey in the schema. - /// </summary> - /// <KeyProperties> - /// CryptoKeyId - /// </KeyProperties> - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="DatabaseModel", Name="SymmetricCryptoKey")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class SymmetricCryptoKey : global::System.Data.Objects.DataClasses.EntityObject - { - /// <summary> - /// Create a new SymmetricCryptoKey object. - /// </summary> - /// <param name="cryptoKeyId">Initial value of CryptoKeyId.</param> - /// <param name="bucket">Initial value of Bucket.</param> - /// <param name="handle">Initial value of Handle.</param> - /// <param name="expirationUtc">Initial value of ExpirationUtc.</param> - /// <param name="secret">Initial value of Secret.</param> - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public static SymmetricCryptoKey CreateSymmetricCryptoKey(int cryptoKeyId, string bucket, string handle, global::System.DateTime expirationUtc, byte[] secret) - { - SymmetricCryptoKey symmetricCryptoKey = new SymmetricCryptoKey(); - symmetricCryptoKey.CryptoKeyId = cryptoKeyId; - symmetricCryptoKey.Bucket = bucket; - symmetricCryptoKey.Handle = handle; - symmetricCryptoKey.ExpirationUtc = expirationUtc; - symmetricCryptoKey.Secret = secret; - return symmetricCryptoKey; - } + private global::System.Boolean _EmailAddressVerified; + partial void OnEmailAddressVerifiedChanging(global::System.Boolean value); + partial void OnEmailAddressVerifiedChanged(); + /// <summary> - /// There are no comments for property CryptoKeyId in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public int CryptoKeyId + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.DateTime CreatedOnUtc { get { - return this._CryptoKeyId; + return _CreatedOnUtc; } - set + private set { - this.OnCryptoKeyIdChanging(value); - this.ReportPropertyChanging("CryptoKeyId"); - this._CryptoKeyId = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("CryptoKeyId"); - this.OnCryptoKeyIdChanged(); + OnCreatedOnUtcChanging(value); + ReportPropertyChanging("CreatedOnUtc"); + _CreatedOnUtc = StructuralObject.SetValidValue(value); + ReportPropertyChanged("CreatedOnUtc"); + OnCreatedOnUtcChanged(); } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private int _CryptoKeyId; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnCryptoKeyIdChanging(int value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnCryptoKeyIdChanged(); + private global::System.DateTime _CreatedOnUtc; + partial void OnCreatedOnUtcChanging(global::System.DateTime value); + partial void OnCreatedOnUtcChanged(); + /// <summary> - /// There are no comments for property Bucket in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string Bucket + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 UserId { get { - return this._Bucket; + return _UserId; } - set + private set { - this.OnBucketChanging(value); - this.ReportPropertyChanging("Bucket"); - this._Bucket = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("Bucket"); - this.OnBucketChanged(); + if (_UserId != value) + { + OnUserIdChanging(value); + ReportPropertyChanging("UserId"); + _UserId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UserId"); + OnUserIdChanged(); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _Bucket; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnBucketChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnBucketChanged(); + private global::System.Int32 _UserId; + partial void OnUserIdChanging(global::System.Int32 value); + partial void OnUserIdChanged(); + + #endregion + + + #region Navigation Properties + /// <summary> - /// There are no comments for property Handle in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public string Handle + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "UserRole", "Role")] + public EntityCollection<Role> Roles { get { - return this._Handle; + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Role>("DatabaseModel.UserRole", "Role"); } set { - this.OnHandleChanging(value); - this.ReportPropertyChanging("Handle"); - this._Handle = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("Handle"); - this.OnHandleChanged(); + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Role>("DatabaseModel.UserRole", "Role", value); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private string _Handle; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnHandleChanging(string value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnHandleChanged(); + /// <summary> - /// There are no comments for property ExpirationUtc in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public global::System.DateTime ExpirationUtc + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_AuthenticationToken_User", "AuthenticationToken")] + public EntityCollection<AuthenticationToken> AuthenticationTokens { get { - return this._ExpirationUtc; + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<AuthenticationToken>("DatabaseModel.FK_AuthenticationToken_User", "AuthenticationToken"); } set { - this.OnExpirationUtcChanging(value); - this.ReportPropertyChanging("ExpirationUtc"); - this._ExpirationUtc = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ExpirationUtc"); - this.OnExpirationUtcChanged(); + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<AuthenticationToken>("DatabaseModel.FK_AuthenticationToken_User", "AuthenticationToken", value); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private global::System.DateTime _ExpirationUtc; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnExpirationUtcChanging(global::System.DateTime value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnExpirationUtcChanged(); + /// <summary> - /// There are no comments for property Secret in the schema. + /// No Metadata Documentation available. /// </summary> - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - public byte[] Secret + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DatabaseModel", "FK_IssuedToken_User", "ClientAuthorization")] + public EntityCollection<ClientAuthorization> ClientAuthorizations { get { - return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._Secret); + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<ClientAuthorization>("DatabaseModel.FK_IssuedToken_User", "ClientAuthorization"); } set { - this.OnSecretChanging(value); - this.ReportPropertyChanging("Secret"); - this._Secret = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("Secret"); - this.OnSecretChanged(); + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<ClientAuthorization>("DatabaseModel.FK_IssuedToken_User", "ClientAuthorization", value); + } } } - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - private byte[] _Secret; - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnSecretChanging(byte[] value); - [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")] - partial void OnSecretChanged(); + + #endregion + } + + #endregion + + } diff --git a/projecttemplates/RelyingPartyLogic/Model.edmx b/projecttemplates/RelyingPartyLogic/Model.edmx index 450b335..1845e1c 100644 --- a/projecttemplates/RelyingPartyLogic/Model.edmx +++ b/projecttemplates/RelyingPartyLogic/Model.edmx @@ -1,19 +1,19 @@ <?xml version="1.0" encoding="utf-8"?> -<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"> +<edmx:Edmx Version="2.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx"> <!-- EF Runtime content --> <edmx:Runtime> <!-- SSDL content --> <edmx:StorageModels> - <Schema Namespace="DatabaseModel.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2008" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl"> + <Schema Namespace="DatabaseModel.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2008" xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl"> <EntityContainer Name="DatabaseModelStoreContainer"> - <EntitySet Name="AuthenticationToken" EntityType="DatabaseModel.Store.AuthenticationToken" store:Type="Tables" Schema="dbo" /> - <EntitySet Name="Client" EntityType="DatabaseModel.Store.Client" store:Type="Tables" Schema="dbo" /> - <EntitySet Name="ClientAuthorization" EntityType="DatabaseModel.Store.ClientAuthorization" store:Type="Tables" Schema="dbo" /> - <EntitySet Name="CryptoKey" EntityType="DatabaseModel.Store.CryptoKey" store:Type="Tables" Schema="dbo" /> - <EntitySet Name="Nonce" EntityType="DatabaseModel.Store.Nonce" store:Type="Tables" Schema="dbo" /> - <EntitySet Name="Role" EntityType="DatabaseModel.Store.Role" store:Type="Tables" Schema="dbo" /> - <EntitySet Name="User" EntityType="DatabaseModel.Store.User" store:Type="Tables" Schema="dbo" /> - <EntitySet Name="UserRole" EntityType="DatabaseModel.Store.UserRole" store:Type="Tables" Schema="dbo" /> + <EntitySet Name="AuthenticationToken" EntityType="DatabaseModel.Store.AuthenticationToken" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" /> + <EntitySet Name="Client" EntityType="DatabaseModel.Store.Client" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" /> + <EntitySet Name="ClientAuthorization" EntityType="DatabaseModel.Store.ClientAuthorization" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" /> + <EntitySet Name="CryptoKey" EntityType="DatabaseModel.Store.CryptoKey" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" /> + <EntitySet Name="Nonce" EntityType="DatabaseModel.Store.Nonce" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" /> + <EntitySet Name="Role" EntityType="DatabaseModel.Store.Role" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" /> + <EntitySet Name="User" EntityType="DatabaseModel.Store.User" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" /> + <EntitySet Name="UserRole" EntityType="DatabaseModel.Store.UserRole" store:Type="Tables" Schema="dbo" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" /> <AssociationSet Name="FK_AuthenticationToken_User" Association="DatabaseModel.Store.FK_AuthenticationToken_User"> <End Role="User" EntitySet="User" /> <End Role="AuthenticationToken" EntitySet="AuthenticationToken" /> @@ -190,7 +190,7 @@ </Schema></edmx:StorageModels> <!-- CSDL content --> <edmx:ConceptualModels> - <Schema Namespace="DatabaseModel" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2006/04/edm"> + <Schema Namespace="DatabaseModel" Alias="Self" xmlns="http://schemas.microsoft.com/ado/2008/09/edm"> <EntityContainer Name="DatabaseEntities"> <EntitySet Name="Roles" EntityType="DatabaseModel.Role" /> <EntitySet Name="Users" EntityType="DatabaseModel.User" /> @@ -309,7 +309,7 @@ </edmx:ConceptualModels> <!-- C-S mapping content --> <edmx:Mappings> - <Mapping Space="C-S" xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS"> + <Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2008/09/mapping/cs"> <EntityContainerMapping StorageEntityContainer="DatabaseModelStoreContainer" CdmEntityContainer="DatabaseEntities"> <EntitySetMapping Name="Roles"> <EntityTypeMapping TypeName="IsTypeOf(DatabaseModel.Role)"> @@ -417,12 +417,12 @@ <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) --> <edmx:Designer> <edmx:Connection> - <DesignerInfoPropertySet xmlns="http://schemas.microsoft.com/ado/2007/06/edmx"> + <DesignerInfoPropertySet xmlns="http://schemas.microsoft.com/ado/2008/10/edmx"> <DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" /> </DesignerInfoPropertySet> </edmx:Connection> <edmx:Options> - <DesignerInfoPropertySet xmlns="http://schemas.microsoft.com/ado/2007/06/edmx"> + <DesignerInfoPropertySet xmlns="http://schemas.microsoft.com/ado/2008/10/edmx"> <DesignerProperty Name="ValidateOnBuild" Value="true" /> <DesignerProperty Name="EnablePluralization" Value="True" /> <DesignerProperty Name="IncludeForeignKeysInModel" Value="False" /> @@ -430,7 +430,7 @@ </edmx:Options> <!-- Diagram content (shape and connector positions) --> <edmx:Diagrams> - <Diagram Name="Model" ZoomLevel="101" xmlns="http://schemas.microsoft.com/ado/2007/06/edmx"> + <Diagram Name="Model" ZoomLevel="101" xmlns="http://schemas.microsoft.com/ado/2008/10/edmx"> <EntityTypeShape EntityType="DatabaseModel.AuthenticationToken" Width="1.875" PointX="5.25" PointY="0.75" Height="2.5571907552083339" IsExpanded="true" /> <EntityTypeShape EntityType="DatabaseModel.Role" Width="1.5" PointX="0.75" PointY="1.25" Height="1.59568359375" IsExpanded="true" /> <EntityTypeShape EntityType="DatabaseModel.User" Width="1.75" PointX="2.875" PointY="0.5" Height="3.1340950520833339" IsExpanded="true" /> @@ -446,11 +446,11 @@ <EntityTypeShape EntityType="DatabaseModel.Nonce" Width="1.5" PointX="9.625" PointY="0.75" Height="1.9802864583333326" /> <EntityTypeShape EntityType="DatabaseModel.Client" Width="1.625" PointX="5.25" PointY="3.75" Height="2.3648893229166665" /> <EntityTypeShape EntityType="DatabaseModel.ClientAuthorization" Width="1.75" PointX="2.875" PointY="3.75" Height="2.1725878906250031" /> - <AssociationConnector Association="DatabaseModel.FK_IssuedToken_Consumer" > + <AssociationConnector Association="DatabaseModel.FK_IssuedToken_Consumer"> <ConnectorPoint PointX="5.25" PointY="4.8362939453125016" /> <ConnectorPoint PointX="4.625" PointY="4.8362939453125016" /> </AssociationConnector> - <AssociationConnector Association="DatabaseModel.FK_IssuedToken_User" > + <AssociationConnector Association="DatabaseModel.FK_IssuedToken_User"> <ConnectorPoint PointX="3.75" PointY="3.2494921875" /> <ConnectorPoint PointX="3.75" PointY="3.75" /> </AssociationConnector> diff --git a/projecttemplates/RelyingPartyLogic/OAuthAuthenticationModule.cs b/projecttemplates/RelyingPartyLogic/OAuthAuthenticationModule.cs index 13e725d..0e2618c 100644 --- a/projecttemplates/RelyingPartyLogic/OAuthAuthenticationModule.cs +++ b/projecttemplates/RelyingPartyLogic/OAuthAuthenticationModule.cs @@ -53,10 +53,11 @@ namespace RelyingPartyLogic { var tokenAnalyzer = new SpecialAccessTokenAnalyzer(crypto, crypto); var resourceServer = new ResourceServer(tokenAnalyzer); - IPrincipal principal; - var errorMessage = resourceServer.VerifyAccess(new HttpRequestWrapper(this.application.Context.Request), out principal); - if (errorMessage == null) { + try { + IPrincipal principal = resourceServer.GetPrincipal(new HttpRequestWrapper(this.application.Context.Request)); this.application.Context.User = principal; + } catch (ProtocolFaultResponseException ex) { + ex.CreateErrorResponse().Send(); } } } diff --git a/projecttemplates/RelyingPartyLogic/OAuthAuthorizationManager.cs b/projecttemplates/RelyingPartyLogic/OAuthAuthorizationManager.cs index 1a3a0f0..6daf56e 100644 --- a/projecttemplates/RelyingPartyLogic/OAuthAuthorizationManager.cs +++ b/projecttemplates/RelyingPartyLogic/OAuthAuthorizationManager.cs @@ -14,6 +14,7 @@ namespace RelyingPartyLogic { using System.ServiceModel.Channels; using System.ServiceModel.Security; using DotNetOpenAuth; + using DotNetOpenAuth.Messaging; using DotNetOpenAuth.OAuth; using DotNetOpenAuth.OAuth2; @@ -37,33 +38,30 @@ namespace RelyingPartyLogic { var resourceServer = new ResourceServer(tokenAnalyzer); try { - IPrincipal principal; - var errorResponse = resourceServer.VerifyAccess(httpDetails, requestUri, out principal); - if (errorResponse == null) { - var policy = new OAuthPrincipalAuthorizationPolicy(principal); - var policies = new List<IAuthorizationPolicy> { + IPrincipal principal = resourceServer.GetPrincipal(httpDetails, requestUri, operationContext.IncomingMessageHeaders.Action); + var policy = new OAuthPrincipalAuthorizationPolicy(principal); + var policies = new List<IAuthorizationPolicy> { policy, }; - var securityContext = new ServiceSecurityContext(policies.AsReadOnly()); - if (operationContext.IncomingMessageProperties.Security != null) { - operationContext.IncomingMessageProperties.Security.ServiceSecurityContext = securityContext; - } else { - operationContext.IncomingMessageProperties.Security = new SecurityMessageProperty { - ServiceSecurityContext = securityContext, - }; - } + var securityContext = new ServiceSecurityContext(policies.AsReadOnly()); + if (operationContext.IncomingMessageProperties.Security != null) { + operationContext.IncomingMessageProperties.Security.ServiceSecurityContext = securityContext; + } else { + operationContext.IncomingMessageProperties.Security = new SecurityMessageProperty { + ServiceSecurityContext = securityContext, + }; + } - securityContext.AuthorizationContext.Properties["Identities"] = new List<IIdentity> { + securityContext.AuthorizationContext.Properties["Identities"] = new List<IIdentity> { principal.Identity, }; - // Only allow this method call if the access token scope permits it. - if (principal.IsInRole(operationContext.IncomingMessageHeaders.Action)) { - return true; - } - } - } catch (ProtocolException /*ex*/) { + return true; + } catch (ProtocolFaultResponseException ex) { + // Return the appropriate unauthorized response to the client. + ex.CreateErrorResponse().Send(); + } catch (DotNetOpenAuth.Messaging.ProtocolException/* ex*/) { ////Logger.Error("Error processing OAuth messages.", ex); } } diff --git a/projecttemplates/RelyingPartyLogic/OAuthAuthorizationServer.cs b/projecttemplates/RelyingPartyLogic/OAuthAuthorizationServer.cs index 8556c55..afc652b 100644 --- a/projecttemplates/RelyingPartyLogic/OAuthAuthorizationServer.cs +++ b/projecttemplates/RelyingPartyLogic/OAuthAuthorizationServer.cs @@ -20,7 +20,7 @@ namespace RelyingPartyLogic { /// <summary> /// Provides OAuth 2.0 authorization server information to DotNetOpenAuth. /// </summary> - public class OAuthAuthorizationServer : IAuthorizationServer { + public class OAuthAuthorizationServer : IAuthorizationServerHost { private static readonly RSACryptoServiceProvider SigningKey = new RSACryptoServiceProvider(); private readonly INonceStore nonceStore = new NonceDbStore(); @@ -32,7 +32,7 @@ namespace RelyingPartyLogic { this.CryptoKeyStore = new RelyingPartyApplicationDbStore(); } - #region IAuthorizationServer Members + #region IAuthorizationServerHost Members public ICryptoKeyStore CryptoKeyStore { get; private set; } @@ -40,7 +40,7 @@ namespace RelyingPartyLogic { /// Gets the authorization code nonce store to use to ensure that authorization codes can only be used once. /// </summary> /// <value>The authorization code nonce store.</value> - public INonceStore VerificationCodeNonceStore { + public INonceStore NonceStore { get { return this.nonceStore; } } @@ -56,37 +56,25 @@ namespace RelyingPartyLogic { } /// <summary> - /// Obtains the lifetime for a new access token. + /// Obtains parameters to go into the formulation of an access token. /// </summary> /// <param name="accessTokenRequestMessage">Details regarding the resources that the access token will grant access to, and the identity of the client /// that will receive that access. /// Based on this information the receiving resource server can be determined and the lifetime of the access /// token can be set based on the sensitivity of the resources.</param> /// <returns> - /// Receives the lifetime for this access token. Note that within this lifetime, authorization <i>may</i> not be revokable. - /// Short lifetimes are recommended (i.e. one hour), particularly when the client is not authenticated or - /// the resources to which access is being granted are sensitive. + /// A non-null parameters instance that DotNetOpenAuth will dispose after it has been used. /// </returns> - public TimeSpan GetAccessTokenLifetime(IAccessTokenRequest accessTokenRequestMessage) { - return TimeSpan.FromHours(1); - } - - /// <summary> - /// Obtains the encryption key for an access token being created. - /// </summary> - /// <param name="accessTokenRequestMessage">Details regarding the resources that the access token will grant access to, and the identity of the client - /// that will receive that access. - /// Based on this information the receiving resource server can be determined and the lifetime of the access - /// token can be set based on the sensitivity of the resources.</param> - /// <returns> - /// The crypto service provider with the asymmetric public key to use for encrypting access tokens for a specific resource server. - /// The caller is responsible to dispose of this value. - /// </returns> - public RSACryptoServiceProvider GetResourceServerEncryptionKey(IAccessTokenRequest accessTokenRequestMessage) { - // For this sample, we assume just one resource server. - // If this authorization server needs to mint access tokens for more than one resource server, - // we'd look at the request message passed to us and decide which public key to return. - return OAuthResourceServer.CreateRSA(); + public AccessTokenResult CreateAccessToken(IAccessTokenRequest accessTokenRequestMessage) { + var accessToken = new AuthorizationServerAccessToken() { + // For this sample, we assume just one resource server. + // If this authorization server needs to mint access tokens for more than one resource server, + // we'd look at the request message passed to us and decide which public key to return. + ResourceServerEncryptionKey = OAuthResourceServer.CreateRSA(), + }; + + var result = new AccessTokenResult(accessToken); + return result; } /// <summary> @@ -130,19 +118,50 @@ namespace RelyingPartyLogic { } /// <summary> - /// Determines whether a given set of resource owner credentials is valid based on the authorization server's user database. + /// Determines whether a given set of resource owner credentials is valid based on the authorization server's user database + /// and if so records an authorization entry such that subsequent calls to <see cref="IsAuthorizationValid"/> would + /// return <c>true</c>. /// </summary> /// <param name="userName">Username on the account.</param> /// <param name="password">The user's password.</param> + /// <param name="accessRequest"> + /// The access request the credentials came with. + /// This may be useful if the authorization server wishes to apply some policy based on the client that is making the request. + /// </param> + /// <param name="canonicalUserName"> + /// Receives the canonical username (normalized for the resource server) of the user, for valid credentials; + /// Or <c>null</c> if the return value is false. + /// </param> /// <returns> - /// <c>true</c> if the given credentials are valid; otherwise, <c>false</c>. + /// <c>true</c> if the given credentials are valid and the authorization granted; otherwise, <c>false</c>. /// </returns> - /// <exception cref="NotSupportedException">May be thrown if the authorization server does not support the resource owner password credential grant type.</exception> - public bool IsResourceOwnerCredentialValid(string userName, string password) { + /// <exception cref="NotSupportedException"> + /// May be thrown if the authorization server does not support the resource owner password credential grant type. + /// </exception> + public bool TryAuthorizeResourceOwnerCredentialGrant(string userName, string password, IAccessTokenRequest accessRequest, out string canonicalUserName) { // This web site delegates user authentication to OpenID Providers, and as such no users have local passwords with this server. throw new NotSupportedException(); } + /// <summary> + /// Determines whether an access token request given a client credential grant should be authorized + /// and if so records an authorization entry such that subsequent calls to <see cref="IsAuthorizationValid"/> would + /// return <c>true</c>. + /// </summary> + /// <param name="accessRequest"> + /// The access request the credentials came with. + /// This may be useful if the authorization server wishes to apply some policy based on the client that is making the request. + /// </param> + /// <returns> + /// <c>true</c> if the given credentials are valid and the authorization granted; otherwise, <c>false</c>. + /// </returns> + /// <exception cref="NotSupportedException"> + /// May be thrown if the authorization server does not support the client credential grant type. + /// </exception> + public bool TryAuthorizeClientCredentialsGrant(IAccessTokenRequest accessRequest) { + throw new NotImplementedException(); + } + #endregion public bool CanBeAutoApproved(EndUserAuthorizationRequest authorizationRequest) { diff --git a/projecttemplates/RelyingPartyLogic/RelyingPartyLogic.csproj b/projecttemplates/RelyingPartyLogic/RelyingPartyLogic.csproj index 58e684e..c8c9ab2 100644 --- a/projecttemplates/RelyingPartyLogic/RelyingPartyLogic.csproj +++ b/projecttemplates/RelyingPartyLogic/RelyingPartyLogic.csproj @@ -11,7 +11,7 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>RelyingPartyLogic</RootNamespace> <AssemblyName>RelyingPartyLogic</AssemblyName> - <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> <FileUpgradeFlags> </FileUpgradeFlags> @@ -159,6 +159,14 @@ <Project>{99BB7543-EA16-43EE-A7BC-D7A25A3B22F6}</Project> <Name>DotNetOpenAuth.OAuth2.AuthorizationServer</Name> </ProjectReference> + <ProjectReference Include="..\..\src\DotNetOpenAuth.OAuth2.ClientAuthorization\DotNetOpenAuth.OAuth2.ClientAuthorization.csproj"> + <Project>{CCF3728A-B3D7-404A-9BC6-75197135F2D7}</Project> + <Name>DotNetOpenAuth.OAuth2.ClientAuthorization</Name> + </ProjectReference> + <ProjectReference Include="..\..\src\DotNetOpenAuth.OAuth2.Client\DotNetOpenAuth.OAuth2.Client.csproj"> + <Project>{CDEDD439-7F35-4E6E-8605-4E70BDC4CC99}</Project> + <Name>DotNetOpenAuth.OAuth2.Client</Name> + </ProjectReference> <ProjectReference Include="..\..\src\DotNetOpenAuth.OAuth2.ResourceServer\DotNetOpenAuth.OAuth2.ResourceServer.csproj"> <Project>{A1A3150A-7B0E-4A34-8E35-045296CD3C76}</Project> <Name>DotNetOpenAuth.OAuth2.ResourceServer</Name> @@ -187,10 +195,10 @@ <Project>{3896A32A-E876-4C23-B9B8-78E17D134CD3}</Project> <Name>DotNetOpenAuth.OpenId</Name> </ProjectReference> - <ProjectReference Include="..\RelyingPartyDatabase\RelyingPartyDatabase.dbproj"> + <ProjectReference Include="..\RelyingPartyDatabase\RelyingPartyDatabase.sqlproj"> <Name>RelyingPartyDatabase</Name> <!-- Deploy the latest SQL script first, so that this project can embed the latest version. --> - <Targets>Build;Deploy</Targets> + <Targets>GetDeployScriptPath</Targets> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> </ItemGroup> @@ -214,6 +222,12 @@ <Install>true</Install> </BootstrapperPackage> </ItemGroup> + <Target Name="CopySqlDeployScript"> + <MSBuild Projects="..\RelyingPartyDatabase\RelyingPartyDatabase.sqlproj" Targets="GetDeployScriptPath"> + <Output TaskParameter="TargetOutputs" PropertyName="SqlDeployScriptPath"/> + </MSBuild> + <Copy SourceFiles="$(SqlDeployScriptPath)" DestinationFiles="CreateDatabase.sql" /> + </Target> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. @@ -222,5 +236,11 @@ <Target Name="AfterBuild"> </Target> --> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))\EnlistmentInfo.targets" Condition=" '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), EnlistmentInfo.targets))' != '' " /> + <PropertyGroup> + <PrepareResourceNamesDependsOn> + CopySqlDeployScript; + $(PrepareResourceNamesDependsOn) + </PrepareResourceNamesDependsOn> + </PropertyGroup> + <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/projecttemplates/RelyingPartyLogic/SpecialAccessTokenAnalyzer.cs b/projecttemplates/RelyingPartyLogic/SpecialAccessTokenAnalyzer.cs index 69788ab..e8b00b5 100644 --- a/projecttemplates/RelyingPartyLogic/SpecialAccessTokenAnalyzer.cs +++ b/projecttemplates/RelyingPartyLogic/SpecialAccessTokenAnalyzer.cs @@ -23,14 +23,13 @@ namespace RelyingPartyLogic { : base(authorizationServerPublicSigningKey, resourceServerPrivateEncryptionKey) { } - public override bool TryValidateAccessToken(DotNetOpenAuth.Messaging.IDirectedProtocolMessage message, string accessToken, out string user, out HashSet<string> scope) { - bool result = base.TryValidateAccessToken(message, accessToken, out user, out scope); - if (result) { - // Ensure that clients coming in this way always belong to the oauth_client role. - scope.Add("oauth_client"); - } + public override AccessToken DeserializeAccessToken(DotNetOpenAuth.Messaging.IDirectedProtocolMessage message, string accessToken) { + var token = base.DeserializeAccessToken(message, accessToken); - return result; + // Ensure that clients coming in this way always belong to the oauth_client role. + token.Scope.Add("oauth_client"); + + return token; } } } diff --git a/projecttemplates/RelyingPartyLogic/Utilities.cs b/projecttemplates/RelyingPartyLogic/Utilities.cs index d273881..440dbe7 100644 --- a/projecttemplates/RelyingPartyLogic/Utilities.cs +++ b/projecttemplates/RelyingPartyLogic/Utilities.cs @@ -73,7 +73,7 @@ GO" }; foreach (string remove in removeSnippets) { schemaSqlBuilder.Replace(remove, string.Empty); } - schemaSqlBuilder.Replace("$(Path1)", HttpContext.Current.Server.MapPath("~/App_Data/")); + schemaSqlBuilder.Replace("Path1_Placeholder", HttpContext.Current.Server.MapPath("~/App_Data/")); schemaSqlBuilder.Replace("WEBROOT", databasePath); schemaSqlBuilder.Replace("$(DatabaseName)", databaseName); diff --git a/projecttemplates/WebFormsRelyingParty/Web.config b/projecttemplates/WebFormsRelyingParty/Web.config index d60edc3..55179ae 100644 --- a/projecttemplates/WebFormsRelyingParty/Web.config +++ b/projecttemplates/WebFormsRelyingParty/Web.config @@ -9,7 +9,6 @@ --> <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" /> <sectionGroup name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection, DotNetOpenAuth.Core"> <section name="openid" type="DotNetOpenAuth.Configuration.OpenIdElement, DotNetOpenAuth.OpenId" requirePermission="false" allowLocation="true" /> @@ -17,17 +16,6 @@ <section name="messaging" type="DotNetOpenAuth.Configuration.MessagingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" /> <section name="reporting" type="DotNetOpenAuth.Configuration.ReportingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" /> </sectionGroup> - <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), @@ -161,15 +149,11 @@ affects performance, set this value to true only during development. --> - <compilation debug="true"> + <compilation debug="true" targetFramework="4.0"> <assemblies> - <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> - <add assembly="System.Data.DataSetExtensions, 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.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> - <add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <add assembly="System.Web.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> <remove assembly="DotNetOpenAuth.Contracts"/> + <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> + <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> </assemblies> </compilation> <!-- @@ -186,22 +170,9 @@ 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" /> - <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> + --> + <customErrors mode="RemoteOnly"/> <httpModules> - <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add name="OAuthAuthenticationModule" type="RelyingPartyLogic.OAuthAuthenticationModule, RelyingPartyLogic" /> <add name="Database" type="RelyingPartyLogic.Database, RelyingPartyLogic"/> </httpModules> @@ -210,49 +181,18 @@ <add name="Database" type="RelyingPartyLogic.DataRoleProvider, RelyingPartyLogic" /> </providers> </roleManager> + <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/> </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> - </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" /> - <add name="OAuthAuthenticationModule" type="RelyingPartyLogic.OAuthAuthenticationModule, RelyingPartyLogic" /> + <modules runAllManagedModulesForAllRequests="true"> + <add name="OAuthAuthenticationModule" type="RelyingPartyLogic.OAuthAuthenticationModule, RelyingPartyLogic"/> <add name="Database" type="RelyingPartyLogic.Database, RelyingPartyLogic"/> </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> <system.serviceModel> <behaviors> <serviceBehaviors> diff --git a/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.csproj b/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.csproj index 1f17837..92a0b5f 100644 --- a/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.csproj +++ b/projecttemplates/WebFormsRelyingParty/WebFormsRelyingParty.csproj @@ -1,6 +1,15 @@ <?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))' != '' " /> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> + <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> + <IISExpressSSLPort /> + <IISExpressAnonymousAuthentication /> + <IISExpressWindowsAuthentication /> + <IISExpressUseClassicPipelineMode /> + </PropertyGroup> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,11 +21,10 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>WebFormsRelyingParty</RootNamespace> <AssemblyName>WebFormsRelyingParty</AssemblyName> - <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <FileUpgradeFlags> </FileUpgradeFlags> - <OldToolsVersion>3.5</OldToolsVersion> - <UpgradeBackupLocation /> + <OldToolsVersion>4.0</OldToolsVersion> <TargetFrameworkProfile /> <UseIISExpress>false</UseIISExpress> </PropertyGroup> @@ -64,15 +72,14 @@ <RequiredTargetFramework>3.0</RequiredTargetFramework> </Reference> <Reference Include="System.Web.Abstractions" /> + <Reference Include="System.Web.ApplicationServices" /> <Reference Include="System.Web.DynamicData" /> <Reference Include="System.Web.Entity"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> - <Reference Include="System.Web.Extensions"> - <RequiredTargetFramework>3.5</RequiredTargetFramework> - </Reference> <Reference Include="System.Drawing" /> <Reference Include="System.Web" /> + <Reference Include="System.Web.Extensions" /> <Reference Include="System.Xml" /> <Reference Include="System.Configuration" /> <Reference Include="System.Web.Services" /> @@ -92,41 +99,35 @@ <Compile Include="Code\SiteUtilities.cs" /> <Compile Include="Members\OAuthAuthorize.aspx.cs"> <DependentUpon>OAuthAuthorize.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Members\OAuthAuthorize.aspx.designer.cs"> <DependentUpon>OAuthAuthorize.aspx</DependentUpon> </Compile> <Compile Include="LoginFrame.aspx.cs"> <DependentUpon>LoginFrame.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="LoginFrame.aspx.designer.cs"> <DependentUpon>LoginFrame.aspx</DependentUpon> </Compile> <Compile Include="Members\AccountInfo.aspx.cs"> <DependentUpon>AccountInfo.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Members\AccountInfo.aspx.designer.cs"> <DependentUpon>AccountInfo.aspx</DependentUpon> </Compile> <Compile Include="Admin\Admin.Master.cs"> <DependentUpon>Admin.Master</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Admin\Admin.Master.designer.cs"> <DependentUpon>Admin.Master</DependentUpon> </Compile> <Compile Include="Admin\Default.aspx.cs"> <DependentUpon>Default.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Admin\Default.aspx.designer.cs"> <DependentUpon>Default.aspx</DependentUpon> </Compile> <Compile Include="Default.aspx.cs"> - <SubType>ASPXCodeBehind</SubType> <DependentUpon>Default.aspx</DependentUpon> </Compile> <Compile Include="Default.aspx.designer.cs"> @@ -137,21 +138,18 @@ </Compile> <Compile Include="Login.aspx.cs"> <DependentUpon>Login.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Login.aspx.designer.cs"> <DependentUpon>Login.aspx</DependentUpon> </Compile> <Compile Include="Logout.aspx.cs"> <DependentUpon>Logout.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Logout.aspx.designer.cs"> <DependentUpon>Logout.aspx</DependentUpon> </Compile> <Compile Include="Members\Default.aspx.cs"> <DependentUpon>Default.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Members\Default.aspx.designer.cs"> <DependentUpon>Default.aspx</DependentUpon> @@ -162,14 +160,12 @@ <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Setup.aspx.cs"> <DependentUpon>Setup.aspx</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Setup.aspx.designer.cs"> <DependentUpon>Setup.aspx</DependentUpon> </Compile> <Compile Include="Site.Master.cs"> <DependentUpon>Site.Master</DependentUpon> - <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="Site.Master.designer.cs"> <DependentUpon>Site.Master</DependentUpon> @@ -262,6 +258,10 @@ <Project>{99BB7543-EA16-43EE-A7BC-D7A25A3B22F6}</Project> <Name>DotNetOpenAuth.OAuth2.AuthorizationServer</Name> </ProjectReference> + <ProjectReference Include="..\..\src\DotNetOpenAuth.OAuth2.ClientAuthorization\DotNetOpenAuth.OAuth2.ClientAuthorization.csproj"> + <Project>{CCF3728A-B3D7-404A-9BC6-75197135F2D7}</Project> + <Name>DotNetOpenAuth.OAuth2.ClientAuthorization</Name> + </ProjectReference> <ProjectReference Include="..\..\src\DotNetOpenAuth.OAuth2\DotNetOpenAuth.OAuth2.csproj"> <Project>{56459A6C-6BA2-4BAC-A9C0-27E3BD961FA6}</Project> <Name>DotNetOpenAuth.OAuth2</Name> @@ -300,7 +300,8 @@ <Folder Include="bin\" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> - <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> + <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> + <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> diff --git a/projecttemplates/projecttemplates.proj b/projecttemplates/projecttemplates.proj index c239293..6b8605b 100644 --- a/projecttemplates/projecttemplates.proj +++ b/projecttemplates/projecttemplates.proj @@ -8,7 +8,7 @@ <LayoutDependsOn> BuildUnifiedProduct; - ReSignDelaySignedAssemblies; + ResignShippingDelaySignedAssemblies; DeploySql; LayoutProjects; </LayoutDependsOn> @@ -24,7 +24,7 @@ <ItemGroup> <ProjectTemplates Include="**\*.*proj" Exclude="$(MSBuildThisFile)" /> - <ProjectReferencesToRemove Include="..\RelyingPartyDatabase\RelyingPartyDatabase.dbproj"/> + <ProjectReferencesToRemove Include="..\RelyingPartyDatabase\RelyingPartyDatabase.sqlproj"/> <AssemblyReferencesToReplaceWith Include="REMOVE" /> </ItemGroup> @@ -34,7 +34,7 @@ <Target Name="DeploySql"> <!-- This causes the SQL script that generates the database to be deployed to the RelyingPartyLogic class library. --> - <MSBuild Projects="RelyingPartyDatabase\RelyingPartyDatabase.dbproj" Targets="Build;Deploy" BuildInParallel="$(BuildInParallel)" /> + <MSBuild Projects="RelyingPartyDatabase\RelyingPartyDatabase.sqlproj" Targets="Build" BuildInParallel="$(BuildInParallel)" /> </Target> <Target Name="LayoutProjects"> @@ -56,7 +56,7 @@ <!-- Add external libraries and their symbols --> <ProjectTemplateLibraries Include="@(UnifiedSignedProductAssembly)" /> <ProjectTemplateLibraries Include="@(UnifiedSignedProductAssembly->'%(SymbolPath)')" /> - <ProjectTemplateLibraries Include="$(ILMergeOutputAssemblyDirectory)$(ProductName).xml" /> + <ProjectTemplateLibraries Include="@(UnifiedSignedProductAssembly->'%(XmlDocumentationFile)')" /> <!-- ... and log4net --> <ProjectTemplateLibraries Include="$(ProjectRoot)lib\log4net.dll" /> <ProjectTemplateLibraries Include="$(ProjectRoot)lib\log4net.xml" /> |