abandon oidc

This commit is contained in:
2016-05-20 14:39:17 +02:00
parent 64d095fb50
commit 69c7d5e16a
7 changed files with 823 additions and 795 deletions

796
Yavsc/build.log Normal file
View File

@ -0,0 +1,796 @@
Microsoft .NET Development Utility Mono-x64-1.0.0-rc1-16609
Building Yavsc for DNX,Version=v4.5.1
Executing script 'prebuild' in project.json
before building
Using Project dependency Yavsc 1.0.0
Source: /home/paul/workspace/yavsc/Yavsc/project.json
Using Package dependency Antlr 3.4.1.9004
Source: /home/paul/.dnx/packages/Antlr/3.4.1.9004
File: lib/Antlr3.Runtime.dll
Using Package dependency EntityFramework.Commands 7.0.0-rc1-final
Source: /home/paul/.dnx/packages/EntityFramework.Commands/7.0.0-rc1-final
File: lib/dnx451/EntityFramework.Commands.dll
Using Package dependency EntityFramework.Core 7.0.0-rc1-final
Source: /home/paul/.dnx/packages/EntityFramework.Core/7.0.0-rc1-final
File: lib/dnx451/EntityFramework.Core.dll
Using Package dependency EntityFramework.MicrosoftSqlServer 7.0.0-rc1-final
Source: /home/paul/.dnx/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final
File: lib/net451/EntityFramework.MicrosoftSqlServer.dll
Using Package dependency EntityFramework.Relational 7.0.0-rc1-final
Source: /home/paul/.dnx/packages/EntityFramework.Relational/7.0.0-rc1-final
File: lib/net451/EntityFramework.Relational.dll
Using Package dependency EntityFramework.Relational.Design 7.0.0-rc1-final
Source: /home/paul/.dnx/packages/EntityFramework.Relational.Design/7.0.0-rc1-final
File: lib/dnx451/EntityFramework.Relational.Design.dll
Using Package dependency EntityFramework.Sqlite 7.0.0-rc1-final
Source: /home/paul/.dnx/packages/EntityFramework.Sqlite/7.0.0-rc1-final
File: lib/net451/EntityFramework.Sqlite.dll
Using Package dependency EntityFramework7.Npgsql 3.1.0-rc1-3
Source: /home/paul/.dnx/packages/EntityFramework7.Npgsql/3.1.0-rc1-3
File: lib/dnx451/EntityFramework7.Npgsql.dll
Using Package dependency EntityFramework7.Npgsql.Design 3.1.0-rc1-5
Source: /home/paul/.dnx/packages/EntityFramework7.Npgsql.Design/3.1.0-rc1-5
File: lib/dnx451/EntityFramework7.Npgsql.Design.dll
Using Package dependency Google.Apis 1.11.1
Source: /home/paul/.dnx/packages/Google.Apis/1.11.1
File: lib/net45/Google.Apis.dll
File: lib/net45/Google.Apis.PlatformServices.dll
Using Package dependency Google.Apis.Core 1.11.1
Source: /home/paul/.dnx/packages/Google.Apis.Core/1.11.1
File: lib/net45/Google.Apis.Core.dll
Using Package dependency Ix-Async 1.2.5
Source: /home/paul/.dnx/packages/Ix-Async/1.2.5
File: lib/net45/System.Interactive.Async.dll
Using Package dependency jQuery 1.6.4
Source: /home/paul/.dnx/packages/jQuery/1.6.4
Using Package dependency log4net 2.0.3
Source: /home/paul/.dnx/packages/log4net/2.0.3
File: lib/net40-full/log4net.dll
Using Package dependency MailKit 1.3.0-beta7
Source: /home/paul/.dnx/packages/MailKit/1.3.0-beta7
File: lib/net451/MailKit.dll
Using Package dependency MarkdownDeep.NET 1.5.0
Source: /home/paul/.dnx/packages/MarkdownDeep.NET/1.5.0
File: lib/net451/MarkdownDeep.dll
Using Package dependency Microsoft.AspNet.Antiforgery 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Antiforgery/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Antiforgery.dll
Using Package dependency Microsoft.AspNet.Authentication 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Authentication/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Authentication.dll
Using Package dependency Microsoft.AspNet.Authentication.Cookies 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Authentication.Cookies.dll
Using Package dependency Microsoft.AspNet.Authentication.Facebook 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Authentication.Facebook.dll
Using Package dependency Microsoft.AspNet.Authentication.JwtBearer 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final
File: lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll
Using Package dependency Microsoft.AspNet.Authentication.OAuth 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Authentication.OAuth.dll
Using Package dependency Microsoft.AspNet.Authentication.OpenIdConnect 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final
File: lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll
Using Package dependency Microsoft.AspNet.Authentication.Twitter 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Authentication.Twitter.dll
Using Package dependency Microsoft.AspNet.Authorization 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Authorization/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Authorization.dll
Using Package dependency Microsoft.AspNet.Cors 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Cors/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Cors.dll
Using Package dependency Microsoft.AspNet.Cryptography.Internal 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Cryptography.Internal.dll
Using Package dependency Microsoft.AspNet.Cryptography.KeyDerivation 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll
Using Package dependency Microsoft.AspNet.DataProtection 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.DataProtection/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.DataProtection.dll
Using Package dependency Microsoft.AspNet.DataProtection.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll
Using Package dependency Microsoft.AspNet.DataProtection.SystemWeb 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll
Using Package dependency Microsoft.AspNet.Diagnostics 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Diagnostics/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Diagnostics.dll
Using Package dependency Microsoft.AspNet.Diagnostics.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll
Using Package dependency Microsoft.AspNet.Diagnostics.Entity 7.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll
Using Package dependency Microsoft.AspNet.FileProviders.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll
Using Package dependency Microsoft.AspNet.FileProviders.Physical 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.FileProviders.Physical.dll
Using Package dependency Microsoft.AspNet.Hosting 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Hosting/1.0.0-rc1-final
File: lib/dnx451/Microsoft.AspNet.Hosting.dll
Using Package dependency Microsoft.AspNet.Hosting.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll
Using Package dependency Microsoft.AspNet.Hosting.Server.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll
Using Package dependency Microsoft.AspNet.Html.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Html.Abstractions.dll
Using Package dependency Microsoft.AspNet.Http 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Http/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Http.dll
Using Package dependency Microsoft.AspNet.Http.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Http.Abstractions.dll
Using Package dependency Microsoft.AspNet.Http.Extensions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Http.Extensions.dll
Using Package dependency Microsoft.AspNet.Http.Features 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Http.Features/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Http.Features.dll
Using Package dependency Microsoft.AspNet.Identity 3.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Identity/3.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Identity.dll
Using Package dependency Microsoft.AspNet.Identity.EntityFramework 3.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll
Using Package dependency Microsoft.AspNet.IISPlatformHandler 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.IISPlatformHandler.dll
Using Package dependency Microsoft.AspNet.JsonPatch 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.JsonPatch/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.JsonPatch.dll
Using Package dependency Microsoft.AspNet.Localization 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Localization/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Localization.dll
Using Package dependency Microsoft.AspNet.Mvc 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.dll
Using Package dependency Microsoft.AspNet.Mvc.Abstractions 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll
Using Package dependency Microsoft.AspNet.Mvc.ApiExplorer 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll
Using Package dependency Microsoft.AspNet.Mvc.Core 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.Core.dll
Using Package dependency Microsoft.AspNet.Mvc.Cors 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.Cors.dll
Using Package dependency Microsoft.AspNet.Mvc.DataAnnotations 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll
Using Package dependency Microsoft.AspNet.Mvc.Formatters.Json 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll
Using Package dependency Microsoft.AspNet.Mvc.Localization 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.Localization.dll
Using Package dependency Microsoft.AspNet.Mvc.Razor 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.Razor.dll
Using Package dependency Microsoft.AspNet.Mvc.Razor.Host 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll
Using Package dependency Microsoft.AspNet.Mvc.TagHelpers 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll
Using Package dependency Microsoft.AspNet.Mvc.ViewFeatures 6.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll
Using Package dependency Microsoft.AspNet.Owin 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Owin/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Owin.dll
Using Package dependency Microsoft.AspNet.PageExecutionInstrumentation.Interfaces 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll
Using Package dependency Microsoft.AspNet.Razor 4.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Razor/4.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Razor.dll
Using Package dependency Microsoft.AspNet.Razor.Runtime 4.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Razor.Runtime.dll
Using Package dependency Microsoft.AspNet.Razor.Runtime.Precompilation 4.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll
Using Package dependency Microsoft.AspNet.Routing 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Routing/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Routing.dll
Using Package dependency Microsoft.AspNet.Server.Kestrel 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final
File: lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll
Using Package dependency Microsoft.AspNet.Server.WebListener 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final
File: lib/dnx451/Microsoft.AspNet.Server.WebListener.dll
Using Package dependency Microsoft.AspNet.Session 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Session/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Session.dll
Using Package dependency Microsoft.AspNet.SignalR.Core 2.2.0
Source: /home/paul/.dnx/packages/Microsoft.AspNet.SignalR.Core/2.2.0
File: lib/net45/Microsoft.AspNet.SignalR.Core.dll
Using Package dependency Microsoft.AspNet.SignalR.JS 2.2.0
Source: /home/paul/.dnx/packages/Microsoft.AspNet.SignalR.JS/2.2.0
Using Package dependency Microsoft.AspNet.SignalR.Owin 1.2.2
Source: /home/paul/.dnx/packages/Microsoft.AspNet.SignalR.Owin/1.2.2
File: lib/net45/Microsoft.AspNet.SignalR.Owin.dll
Using Package dependency Microsoft.AspNet.StaticFiles 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.StaticFiles/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.StaticFiles.dll
Using Package dependency Microsoft.AspNet.Tooling.Razor 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.Tooling.Razor.dll
Using Package dependency Microsoft.AspNet.Web.Optimization 1.1.3
Source: /home/paul/.dnx/packages/Microsoft.AspNet.Web.Optimization/1.1.3
File: lib/net40/System.Web.Optimization.dll
Using Package dependency Microsoft.AspNet.WebSockets.Protocol 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll
Using Package dependency Microsoft.AspNet.WebSockets.Server 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.WebSockets.Server.dll
Using Package dependency Microsoft.AspNet.WebUtilities 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.AspNet.WebUtilities/1.0.0-rc1-final
File: lib/net451/Microsoft.AspNet.WebUtilities.dll
Using Package dependency Microsoft.AspNetCore.Authentication.Cookies 0.0.1-alpha
Source: /home/paul/.dnx/packages/Microsoft.AspNetCore.Authentication.Cookies/0.0.1-alpha
Using Package dependency Microsoft.AspNetCore.Authentication.OAuth 0.0.1-alpha
Source: /home/paul/.dnx/packages/Microsoft.AspNetCore.Authentication.OAuth/0.0.1-alpha
Using Package dependency Microsoft.AspNetCore.Authentication.OpenIdConnect 0.0.1-alpha
Source: /home/paul/.dnx/packages/Microsoft.AspNetCore.Authentication.OpenIdConnect/0.0.1-alpha
Using Package dependency Microsoft.CodeAnalysis.Analyzers 1.0.0
Source: /home/paul/.dnx/packages/Microsoft.CodeAnalysis.Analyzers/1.0.0
Using Package dependency Microsoft.CodeAnalysis.Common 1.1.0-rc1-20151109-01
Source: /home/paul/.dnx/packages/Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01
File: lib/net45/Microsoft.CodeAnalysis.dll
Using Package dependency Microsoft.CodeAnalysis.CSharp 1.1.0-rc1-20151109-01
Source: /home/paul/.dnx/packages/Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01
File: lib/net45/Microsoft.CodeAnalysis.CSharp.dll
Using Package dependency Microsoft.Data.Sqlite 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Data.Sqlite/1.0.0-rc1-final
File: lib/net451/Microsoft.Data.Sqlite.dll
Using Package dependency Microsoft.Dnx.Compilation.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll
Using Package dependency Microsoft.Dnx.Compilation.CSharp.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll
Using Package dependency Microsoft.Dnx.Compilation.CSharp.Common 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final
File: lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll
Using Package dependency Microsoft.Extensions.Caching.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Caching.Abstractions.dll
Using Package dependency Microsoft.Extensions.Caching.Memory 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Caching.Memory.dll
Using Package dependency Microsoft.Extensions.CodeGeneration 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final
File: lib/dnx451/Microsoft.Extensions.CodeGeneration.dll
Using Package dependency Microsoft.Extensions.CodeGeneration.Core 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final
File: lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll
Using Package dependency Microsoft.Extensions.CodeGeneration.EntityFramework 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final
File: lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll
Using Package dependency Microsoft.Extensions.CodeGeneration.Templating 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final
File: lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll
Using Package dependency Microsoft.Extensions.CodeGenerators.Mvc 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final
File: lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.dll
Using Package dependency Microsoft.Extensions.Configuration 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Configuration/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Configuration.dll
Using Package dependency Microsoft.Extensions.Configuration.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Configuration.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Configuration.Abstractions.dll
Using Package dependency Microsoft.Extensions.Configuration.Binder 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Configuration.Binder/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Configuration.Binder.dll
Using Package dependency Microsoft.Extensions.Configuration.CommandLine 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Configuration.CommandLine/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Configuration.CommandLine.dll
Using Package dependency Microsoft.Extensions.Configuration.EnvironmentVariables 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Configuration.EnvironmentVariables/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Configuration.EnvironmentVariables.dll
Using Package dependency Microsoft.Extensions.Configuration.FileExtensions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Configuration.FileExtensions/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Configuration.FileExtensions.dll
Using Package dependency Microsoft.Extensions.Configuration.FileProviderExtensions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Configuration.FileProviderExtensions/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Configuration.FileProviderExtensions.dll
Using Package dependency Microsoft.Extensions.Configuration.Json 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Configuration.Json/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Configuration.Json.dll
Using Package dependency Microsoft.Extensions.Configuration.UserSecrets 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Configuration.UserSecrets/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Configuration.UserSecrets.dll
Using Package dependency Microsoft.Extensions.DependencyInjection 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.DependencyInjection/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.DependencyInjection.dll
Using Package dependency Microsoft.Extensions.DependencyInjection.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.DependencyInjection.Abstractions.dll
Using Package dependency Microsoft.Extensions.FileSystemGlobbing 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.FileSystemGlobbing/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.FileSystemGlobbing.dll
Using Package dependency Microsoft.Extensions.Globalization.CultureInfoCache 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Globalization.CultureInfoCache.dll
Using Package dependency Microsoft.Extensions.Localization 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Localization/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Localization.dll
Using Package dependency Microsoft.Extensions.Localization.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Localization.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Localization.Abstractions.dll
Using Package dependency Microsoft.Extensions.Logging 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Logging/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Logging.dll
Using Package dependency Microsoft.Extensions.Logging.Abstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Logging.Abstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Logging.Abstractions.dll
Using Package dependency Microsoft.Extensions.Logging.Console 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Logging.Console/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Logging.Console.dll
Using Package dependency Microsoft.Extensions.Logging.Debug 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Logging.Debug/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Logging.Debug.dll
Using Package dependency Microsoft.Extensions.MemoryPool 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.MemoryPool/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.MemoryPool.dll
Using Package dependency Microsoft.Extensions.Options 0.0.1-alpha
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Options/0.0.1-alpha
Using Package dependency Microsoft.Extensions.OptionsModel 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.OptionsModel/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.OptionsModel.dll
Using Package dependency Microsoft.Extensions.PlatformAbstractions 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.PlatformAbstractions/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.PlatformAbstractions.dll
Using Package dependency Microsoft.Extensions.Primitives 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.Primitives/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.Primitives.dll
Using Package dependency Microsoft.Extensions.WebEncoders 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.WebEncoders/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.WebEncoders.dll
Using Package dependency Microsoft.Extensions.WebEncoders.Core 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Extensions.WebEncoders.Core/1.0.0-rc1-final
File: lib/net451/Microsoft.Extensions.WebEncoders.Core.dll
Using Package dependency Microsoft.Framework.Configuration 1.0.0-beta8
Source: /home/paul/.dnx/packages/Microsoft.Framework.Configuration/1.0.0-beta8
File: lib/dnx451/Microsoft.Framework.Configuration.dll
Using Package dependency Microsoft.Framework.Configuration.Abstractions 1.0.0-beta8
Source: /home/paul/.dnx/packages/Microsoft.Framework.Configuration.Abstractions/1.0.0-beta8
File: lib/dnx451/Microsoft.Framework.Configuration.Abstractions.dll
Using Package dependency Microsoft.Framework.Configuration.Binder 1.0.0-beta8
Source: /home/paul/.dnx/packages/Microsoft.Framework.Configuration.Binder/1.0.0-beta8
File: lib/dnx451/Microsoft.Framework.Configuration.Binder.dll
Using Package dependency Microsoft.Framework.Configuration.FileExtensions 1.0.0-beta8
Source: /home/paul/.dnx/packages/Microsoft.Framework.Configuration.FileExtensions/1.0.0-beta8
File: lib/dnx451/Microsoft.Framework.Configuration.FileExtensions.dll
Using Package dependency Microsoft.Framework.Configuration.Json 1.0.0-beta8
Source: /home/paul/.dnx/packages/Microsoft.Framework.Configuration.Json/1.0.0-beta8
File: lib/dnx451/Microsoft.Framework.Configuration.Json.dll
Using Package dependency Microsoft.Framework.ConfigurationModel 1.0.0-beta4
Source: /home/paul/.dnx/packages/Microsoft.Framework.ConfigurationModel/1.0.0-beta4
File: lib/dnx451/Microsoft.Framework.ConfigurationModel.dll
Using Package dependency Microsoft.Framework.ConfigurationModel.Interfaces 1.0.0-beta4
Source: /home/paul/.dnx/packages/Microsoft.Framework.ConfigurationModel.Interfaces/1.0.0-beta4
File: lib/dnx451/Microsoft.Framework.ConfigurationModel.Interfaces.dll
Using Package dependency Microsoft.Framework.ConfigurationModel.Json 1.0.0-beta4
Source: /home/paul/.dnx/packages/Microsoft.Framework.ConfigurationModel.Json/1.0.0-beta4
File: lib/dnx451/Microsoft.Framework.ConfigurationModel.Json.dll
Using Package dependency Microsoft.Framework.DependencyInjection 1.0.0-beta8
Source: /home/paul/.dnx/packages/Microsoft.Framework.DependencyInjection/1.0.0-beta8
File: lib/dnx451/Microsoft.Framework.DependencyInjection.dll
Using Package dependency Microsoft.Framework.DependencyInjection.Abstractions 1.0.0-beta8
Source: /home/paul/.dnx/packages/Microsoft.Framework.DependencyInjection.Abstractions/1.0.0-beta8
File: lib/dnx451/Microsoft.Framework.DependencyInjection.Abstractions.dll
Using Package dependency Microsoft.Framework.Runtime.Interfaces 1.0.0-beta4
Source: /home/paul/.dnx/packages/Microsoft.Framework.Runtime.Interfaces/1.0.0-beta4
File: lib/dnx451/Microsoft.Framework.Runtime.Interfaces.dll
Using Package dependency Microsoft.IdentityModel.Logging 1.0.0-rc1-211161024
Source: /home/paul/.dnx/packages/Microsoft.IdentityModel.Logging/1.0.0-rc1-211161024
File: lib/net451/Microsoft.IdentityModel.Logging.dll
Using Package dependency Microsoft.IdentityModel.Protocols 2.0.0-rc1-211161024
Source: /home/paul/.dnx/packages/Microsoft.IdentityModel.Protocols/2.0.0-rc1-211161024
File: lib/net451/Microsoft.IdentityModel.Protocols.dll
Using Package dependency Microsoft.IdentityModel.Protocols.OpenIdConnect 2.0.0-rc1-211161024
Source: /home/paul/.dnx/packages/Microsoft.IdentityModel.Protocols.OpenIdConnect/2.0.0-rc1-211161024
File: lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll
Using Package dependency Microsoft.Net.Http.Headers 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Net.Http.Headers/1.0.0-rc1-final
File: lib/net451/Microsoft.Net.Http.Headers.dll
Using Package dependency Microsoft.Net.Http.Server 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Net.Http.Server/1.0.0-rc1-final
File: lib/net451/Microsoft.Net.Http.Server.dll
Using Package dependency Microsoft.Net.WebSockets 1.0.0-rc1-final
Source: /home/paul/.dnx/packages/Microsoft.Net.WebSockets/1.0.0-rc1-final
File: lib/net451/Microsoft.Net.WebSockets.dll
Using Package dependency Microsoft.NETCore.Platforms 1.0.1-beta-23516
Source: /home/paul/.dnx/packages/Microsoft.NETCore.Platforms/1.0.1-beta-23516
Using Package dependency Microsoft.NETCore.Targets 1.0.1-beta-23516
Source: /home/paul/.dnx/packages/Microsoft.NETCore.Targets/1.0.1-beta-23516
Using Package dependency Microsoft.Owin 2.1.0
Source: /home/paul/.dnx/packages/Microsoft.Owin/2.1.0
File: lib/net45/Microsoft.Owin.dll
Using Package dependency Microsoft.Owin.Security 2.1.0
Source: /home/paul/.dnx/packages/Microsoft.Owin.Security/2.1.0
File: lib/net45/Microsoft.Owin.Security.dll
Using Package dependency Microsoft.Web.Infrastructure 1.0.0
Source: /home/paul/.dnx/packages/Microsoft.Web.Infrastructure/1.0.0
File: lib/net40/Microsoft.Web.Infrastructure.dll
Using Package dependency MimeKit 1.3.0-beta7
Source: /home/paul/.dnx/packages/MimeKit/1.3.0-beta7
File: lib/net451/BouncyCastle.dll
File: lib/net451/MimeKit.dll
Using Package dependency Newtonsoft.Json 7.0.1
Source: /home/paul/.dnx/packages/Newtonsoft.Json/7.0.1
File: lib/net45/Newtonsoft.Json.dll
Using Package dependency Npgsql 3.1.0-alpha6
Source: /home/paul/.dnx/packages/Npgsql/3.1.0-alpha6
File: lib/net45/Npgsql.dll
Using Package dependency Owin 1.0.0
Source: /home/paul/.dnx/packages/Owin/1.0.0
File: lib/net40/Owin.dll
Using Package dependency PayPalButtonManagerSDK 2.10.109
Source: /home/paul/.dnx/packages/PayPalButtonManagerSDK/2.10.109
File: lib/net20/PayPalButtonManagerSDK.dll
Using Package dependency PayPalCoreSDK 1.7.1
Source: /home/paul/.dnx/packages/PayPalCoreSDK/1.7.1
File: lib/net451/PayPalCoreSDK.dll
Using Package dependency RazorEngine 4.2.7-beta1
Source: /home/paul/.dnx/packages/RazorEngine/4.2.7-beta1
File: lib/net45/RazorEngine.dll
Using Package dependency Remotion.Linq 2.0.1
Source: /home/paul/.dnx/packages/Remotion.Linq/2.0.1
File: lib/net45/Remotion.Linq.dll
Using Package dependency System.Collections 4.0.0
Source: /home/paul/.dnx/packages/System.Collections/4.0.0
Using Package dependency System.Collections.Immutable 1.1.37
Source: /home/paul/.dnx/packages/System.Collections.Immutable/1.1.37
File: lib/dotnet/System.Collections.Immutable.dll
Using Package dependency System.Diagnostics.Debug 4.0.0
Source: /home/paul/.dnx/packages/System.Diagnostics.Debug/4.0.0
Using Package dependency System.Diagnostics.DiagnosticSource 4.0.0-beta-23516
Source: /home/paul/.dnx/packages/System.Diagnostics.DiagnosticSource/4.0.0-beta-23516
File: lib/dotnet5.2/System.Diagnostics.DiagnosticSource.dll
Using Package dependency System.Diagnostics.Tracing 4.0.0
Source: /home/paul/.dnx/packages/System.Diagnostics.Tracing/4.0.0
Using Package dependency System.Globalization 4.0.0
Source: /home/paul/.dnx/packages/System.Globalization/4.0.0
Using Package dependency System.IdentityModel.Tokens 5.0.0-rc1-211161024
Source: /home/paul/.dnx/packages/System.IdentityModel.Tokens/5.0.0-rc1-211161024
File: lib/net451/System.IdentityModel.Tokens.dll
Using Package dependency System.IdentityModel.Tokens.Jwt 5.0.0-rc1-211161024
Source: /home/paul/.dnx/packages/System.IdentityModel.Tokens.Jwt/5.0.0-rc1-211161024
File: lib/net451/System.IdentityModel.Tokens.Jwt.dll
Using Package dependency System.IO 4.0.0
Source: /home/paul/.dnx/packages/System.IO/4.0.0
Using Package dependency System.Linq 4.0.0
Source: /home/paul/.dnx/packages/System.Linq/4.0.0
Using Package dependency System.Numerics.Vectors 4.1.1-beta-23516
Source: /home/paul/.dnx/packages/System.Numerics.Vectors/4.1.1-beta-23516
File: lib/portable-net45+win8/System.Numerics.Vectors.dll
Using Package dependency System.Reflection 4.0.0
Source: /home/paul/.dnx/packages/System.Reflection/4.0.0
Using Package dependency System.Reflection.Extensions 4.0.0
Source: /home/paul/.dnx/packages/System.Reflection.Extensions/4.0.0
Using Package dependency System.Reflection.Metadata 1.1.0
Source: /home/paul/.dnx/packages/System.Reflection.Metadata/1.1.0
File: lib/dotnet5.2/System.Reflection.Metadata.dll
Using Package dependency System.Reflection.Primitives 4.0.0
Source: /home/paul/.dnx/packages/System.Reflection.Primitives/4.0.0
Using Package dependency System.Resources.ResourceManager 4.0.0
Source: /home/paul/.dnx/packages/System.Resources.ResourceManager/4.0.0
Using Package dependency System.Runtime 4.0.0
Source: /home/paul/.dnx/packages/System.Runtime/4.0.0
Using Package dependency System.Runtime.Extensions 4.0.0
Source: /home/paul/.dnx/packages/System.Runtime.Extensions/4.0.0
Using Package dependency System.Runtime.InteropServices 4.0.0
Source: /home/paul/.dnx/packages/System.Runtime.InteropServices/4.0.0
Using Package dependency System.Text.Encoding 4.0.0
Source: /home/paul/.dnx/packages/System.Text.Encoding/4.0.0
Using Package dependency System.Text.Encoding.Extensions 4.0.0
Source: /home/paul/.dnx/packages/System.Text.Encoding.Extensions/4.0.0
Using Package dependency System.Threading 4.0.0
Source: /home/paul/.dnx/packages/System.Threading/4.0.0
Using Package dependency WebGrease 1.5.2
Source: /home/paul/.dnx/packages/WebGrease/1.5.2
File: lib/WebGrease.dll
Using Package dependency Zlib.Portable.Signed 1.11.0
Source: /home/paul/.dnx/packages/Zlib.Portable.Signed/1.11.0
File: lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.dll
Using Assembly dependency fx/mscorlib 4.0.0
Source: /usr/lib/mono/4.5/mscorlib.dll
Using Assembly dependency fx/System 4.0.0
Source: /usr/lib/mono/4.5/System.dll
Using Assembly dependency fx/System.Core 4.0.0
Source: /usr/lib/mono/4.5/System.Core.dll
Using Assembly dependency fx/Microsoft.CSharp 4.0.0
Source: /usr/lib/mono/4.5/Microsoft.CSharp.dll
Using Assembly dependency fx/System.Collections 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Collections.dll
Using Assembly dependency fx/System.ComponentModel.DataAnnotations 4.0.0
Source: /usr/lib/mono/4.5/System.ComponentModel.DataAnnotations.dll
Using Assembly dependency fx/System.Diagnostics.Debug 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Diagnostics.Debug.dll
Using Assembly dependency fx/System.Diagnostics.Tools 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Diagnostics.Tools.dll
Using Assembly dependency fx/System.Globalization 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Globalization.dll
Using Assembly dependency fx/System.Linq 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Linq.dll
Using Assembly dependency fx/System.Linq.Expressions 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Linq.Expressions.dll
Using Assembly dependency fx/System.Linq.Queryable 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Linq.Queryable.dll
Using Assembly dependency fx/System.ObjectModel 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.ObjectModel.dll
Using Assembly dependency fx/System.Reflection 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Reflection.dll
Using Assembly dependency fx/System.Reflection.Extensions 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Reflection.Extensions.dll
Using Assembly dependency fx/System.Resources.ResourceManager 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Resources.ResourceManager.dll
Using Assembly dependency fx/System.Runtime 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Runtime.dll
Using Assembly dependency fx/System.Runtime.Extensions 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Runtime.Extensions.dll
Using Assembly dependency fx/System.Threading 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Threading.dll
Using Assembly dependency fx/System.Data 4.0.0
Source: /usr/lib/mono/4.5/System.Data.dll
Using Assembly dependency fx/System.Transactions 4.0.0
Source: /usr/lib/mono/4.5/System.Transactions.dll
Using Assembly dependency fx/System.IO 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.IO.dll
Using Assembly dependency fx/System.Text.Encoding 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Text.Encoding.dll
Using Assembly dependency fx/System.Threading.Tasks 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Threading.Tasks.dll
Using Assembly dependency fx/System.Diagnostics.Contracts 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Diagnostics.Contracts.dll
Using Assembly dependency fx/System.Net.Http 4.0.0
Source: /usr/lib/mono/4.5/System.Net.Http.dll
Using Assembly dependency fx/System.Security 4.0.0
Source: /usr/lib/mono/4.5/System.Security.dll
Using Assembly dependency fx/System.Xml 4.0.0
Source: /usr/lib/mono/4.5/System.Xml.dll
Using Assembly dependency fx/System.Xml.Linq 4.0.0
Source: /usr/lib/mono/4.5/System.Xml.Linq.dll
Using Assembly dependency fx/System.Configuration 4.0.0
Source: /usr/lib/mono/4.5/System.Configuration.dll
Using Assembly dependency fx/System.Web 4.0.0
Source: /usr/lib/mono/4.5/System.Web.dll
Using Assembly dependency fx/System.Collections.Concurrent 4.0.0
Source: /usr/lib/mono/4.5/Facades/System.Collections.Concurrent.dll
Executing script 'postbuild' in project.json
after building
Build succeeded.
0 Warning(s)
0 Error(s)
Time elapsed 00:00:02.4735119
Total build time elapsed: 00:00:02.4910582
Total projects built: 1

View File

@ -113,8 +113,7 @@
"Microsoft.AspNet.Authentication.JwtBearer": "1.0.0-rc1-final",
"System.IdentityModel.Tokens": "5.0.0-rc1-208241120",
"System.IdentityModel.Tokens.Jwt": "5.0.0-rc1-208241120",
"Microsoft.AspNet.Authorization": "1.0.0-rc1-final",
"AspNet.Security.OpenIdConnect.Server": "1.0.0-beta4"
"Microsoft.AspNet.Authorization": "1.0.0-rc1-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel --server.urls http://*:5000",

View File

@ -12,48 +12,6 @@
"lib/Antlr3.Runtime.dll": {}
}
},
"AspNet.Security.OpenIdConnect.Extensions/1.0.0-beta4": {
"type": "package",
"dependencies": {
"Microsoft.AspNet.Authentication": "1.0.0-rc1-final",
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "2.0.0-rc1-211161024"
},
"frameworkAssemblies": [
"Microsoft.CSharp",
"mscorlib",
"System",
"System.Core"
],
"compile": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Extensions.dll": {}
},
"runtime": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Extensions.dll": {}
}
},
"AspNet.Security.OpenIdConnect.Server/1.0.0-beta4": {
"type": "package",
"dependencies": {
"AspNet.Security.OpenIdConnect.Extensions": "1.0.0-beta4",
"Microsoft.AspNet.Authentication": "1.0.0-rc1-final",
"Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final",
"Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final",
"Newtonsoft.Json": "7.0.1"
},
"frameworkAssemblies": [
"Microsoft.CSharp",
"mscorlib",
"System",
"System.Core"
],
"compile": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Server.dll": {}
},
"runtime": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Server.dll": {}
}
},
"EntityFramework.Commands/7.0.0-rc1-final": {
"type": "package",
"dependencies": {
@ -260,12 +218,12 @@
"Zlib.Portable.Signed": "1.11.0"
},
"compile": {
"lib/net45/Google.Apis.PlatformServices.dll": {},
"lib/net45/Google.Apis.dll": {}
"lib/net45/Google.Apis.dll": {},
"lib/net45/Google.Apis.PlatformServices.dll": {}
},
"runtime": {
"lib/net45/Google.Apis.PlatformServices.dll": {},
"lib/net45/Google.Apis.dll": {}
"lib/net45/Google.Apis.dll": {},
"lib/net45/Google.Apis.PlatformServices.dll": {}
}
},
"Google.Apis.Core/1.11.1": {
@ -2987,48 +2945,6 @@
"lib/Antlr3.Runtime.dll": {}
}
},
"AspNet.Security.OpenIdConnect.Extensions/1.0.0-beta4": {
"type": "package",
"dependencies": {
"Microsoft.AspNet.Authentication": "1.0.0-rc1-final",
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "2.0.0-rc1-211161024"
},
"frameworkAssemblies": [
"Microsoft.CSharp",
"mscorlib",
"System",
"System.Core"
],
"compile": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Extensions.dll": {}
},
"runtime": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Extensions.dll": {}
}
},
"AspNet.Security.OpenIdConnect.Server/1.0.0-beta4": {
"type": "package",
"dependencies": {
"AspNet.Security.OpenIdConnect.Extensions": "1.0.0-beta4",
"Microsoft.AspNet.Authentication": "1.0.0-rc1-final",
"Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final",
"Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final",
"Newtonsoft.Json": "7.0.1"
},
"frameworkAssemblies": [
"Microsoft.CSharp",
"mscorlib",
"System",
"System.Core"
],
"compile": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Server.dll": {}
},
"runtime": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Server.dll": {}
}
},
"EntityFramework.Commands/7.0.0-rc1-final": {
"type": "package",
"dependencies": {
@ -3235,12 +3151,12 @@
"Zlib.Portable.Signed": "1.11.0"
},
"compile": {
"lib/net45/Google.Apis.PlatformServices.dll": {},
"lib/net45/Google.Apis.dll": {}
"lib/net45/Google.Apis.dll": {},
"lib/net45/Google.Apis.PlatformServices.dll": {}
},
"runtime": {
"lib/net45/Google.Apis.PlatformServices.dll": {},
"lib/net45/Google.Apis.dll": {}
"lib/net45/Google.Apis.dll": {},
"lib/net45/Google.Apis.PlatformServices.dll": {}
}
},
"Google.Apis.Core/1.11.1": {
@ -5962,48 +5878,6 @@
"lib/Antlr3.Runtime.dll": {}
}
},
"AspNet.Security.OpenIdConnect.Extensions/1.0.0-beta4": {
"type": "package",
"dependencies": {
"Microsoft.AspNet.Authentication": "1.0.0-rc1-final",
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "2.0.0-rc1-211161024"
},
"frameworkAssemblies": [
"Microsoft.CSharp",
"mscorlib",
"System",
"System.Core"
],
"compile": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Extensions.dll": {}
},
"runtime": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Extensions.dll": {}
}
},
"AspNet.Security.OpenIdConnect.Server/1.0.0-beta4": {
"type": "package",
"dependencies": {
"AspNet.Security.OpenIdConnect.Extensions": "1.0.0-beta4",
"Microsoft.AspNet.Authentication": "1.0.0-rc1-final",
"Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final",
"Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final",
"Newtonsoft.Json": "7.0.1"
},
"frameworkAssemblies": [
"Microsoft.CSharp",
"mscorlib",
"System",
"System.Core"
],
"compile": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Server.dll": {}
},
"runtime": {
"lib/dnx451/AspNet.Security.OpenIdConnect.Server.dll": {}
}
},
"EntityFramework.Commands/7.0.0-rc1-final": {
"type": "package",
"dependencies": {
@ -6210,12 +6084,12 @@
"Zlib.Portable.Signed": "1.11.0"
},
"compile": {
"lib/net45/Google.Apis.PlatformServices.dll": {},
"lib/net45/Google.Apis.dll": {}
"lib/net45/Google.Apis.dll": {},
"lib/net45/Google.Apis.PlatformServices.dll": {}
},
"runtime": {
"lib/net45/Google.Apis.PlatformServices.dll": {},
"lib/net45/Google.Apis.dll": {}
"lib/net45/Google.Apis.dll": {},
"lib/net45/Google.Apis.PlatformServices.dll": {}
}
},
"Google.Apis.Core/1.11.1": {
@ -8940,32 +8814,6 @@
"lib/Antlr3.Runtime.pdb"
]
},
"AspNet.Security.OpenIdConnect.Extensions/1.0.0-beta4": {
"type": "package",
"sha512": "r0r4W/922xuS06pYs5dOAN2mkpRYQ4gI9LPR6IMaDulB1LAbPNmBOj7AXc4bq50A3OZgG3Cudezn6q8RJeTscw==",
"files": [
"AspNet.Security.OpenIdConnect.Extensions.1.0.0-beta4.nupkg",
"AspNet.Security.OpenIdConnect.Extensions.1.0.0-beta4.nupkg.sha512",
"AspNet.Security.OpenIdConnect.Extensions.nuspec",
"lib/dnx451/AspNet.Security.OpenIdConnect.Extensions.dll",
"lib/dnx451/AspNet.Security.OpenIdConnect.Extensions.xml",
"lib/dnxcore50/AspNet.Security.OpenIdConnect.Extensions.dll",
"lib/dnxcore50/AspNet.Security.OpenIdConnect.Extensions.xml"
]
},
"AspNet.Security.OpenIdConnect.Server/1.0.0-beta4": {
"type": "package",
"sha512": "8EvftVfasTVRD2NiIuC4WTbDAUKWJr8AbCUmEyLb78tLpyFmuI1gogmmrP2gMHDIEvJyG4oJ1iXZE/xmZt3M3w==",
"files": [
"AspNet.Security.OpenIdConnect.Server.1.0.0-beta4.nupkg",
"AspNet.Security.OpenIdConnect.Server.1.0.0-beta4.nupkg.sha512",
"AspNet.Security.OpenIdConnect.Server.nuspec",
"lib/dnx451/AspNet.Security.OpenIdConnect.Server.dll",
"lib/dnx451/AspNet.Security.OpenIdConnect.Server.xml",
"lib/dnxcore50/AspNet.Security.OpenIdConnect.Server.dll",
"lib/dnxcore50/AspNet.Security.OpenIdConnect.Server.xml"
]
},
"EntityFramework.Commands/7.0.0-rc1-final": {
"type": "package",
"serviceable": true,
@ -12176,8 +12024,7 @@
"Microsoft.AspNet.Authentication.JwtBearer >= 1.0.0-rc1-final",
"System.IdentityModel.Tokens >= 5.0.0-rc1-208241120",
"System.IdentityModel.Tokens.Jwt >= 5.0.0-rc1-208241120",
"Microsoft.AspNet.Authorization >= 1.0.0-rc1-final",
"AspNet.Security.OpenIdConnect.Server >= 1.0.0-beta4"
"Microsoft.AspNet.Authorization >= 1.0.0-rc1-final"
],
"DNX,Version=v4.5.1": []
}

View File

@ -1,348 +0,0 @@
using System;
using System.Linq;
using System.Security.Claims;
using System.Threading;
using System.Threading.Tasks;
using AspNet.Security.OpenIdConnect.Extensions;
using AspNet.Security.OpenIdConnect.Server;
using Microsoft.AspNet.Authorization;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.DataProtection.KeyManagement;
using Microsoft.AspNet.Http.Authentication;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Mvc;
using Microsoft.Data.Entity;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.OptionsModel;
using Microsoft.IdentityModel.Protocols.OpenIdConnect;
using Yavsc.Extensions;
using Yavsc.Models;
namespace Yavsc.Controllers
{
[AllowAnonymous]
public class OAuthController : Controller
{
ApplicationDbContext _context;
UserManager<ApplicationUser> _userManager;
ILogger _logger;
private readonly SignInManager<ApplicationUser> _signInManager;
private TokenAuthOptions _tokenOptions;
public OAuthController(ApplicationDbContext context, SignInManager<ApplicationUser> signInManager, IKeyManager keyManager,
IOptions<TokenAuthOptions> tokenOptions,
UserManager<ApplicationUser> userManager,
ILoggerFactory loggerFactory
)
{
_context = context;
_signInManager = signInManager;
_tokenOptions = tokenOptions.Value;
_userManager = userManager;
_logger = loggerFactory.CreateLogger<OAuthController>();
}
[HttpGet("~/signin")]
public ActionResult SignIn(string returnUrl = null) {
// Note: the "returnUrl" parameter corresponds to the endpoint the user agent
// will be redirected to after a successful authentication and not
// the redirect_uri of the requesting client application.
if (returnUrl==null) returnUrl="/";
ViewBag.ReturnUrl = returnUrl;
// Note: in a real world application, you'd probably prefer creating a specific view model.
return View("SignIn", HttpContext.GetExternalProviders());
}
[HttpPost("~/signin")]
public IActionResult SignIn( string Provider, string ReturnUrl ) {
// Note: the "provider" parameter corresponds to the external
// authentication provider choosen by the user agent.
if (string.IsNullOrEmpty(Provider)) {
_logger.LogWarning("Provider not specified");
return HttpBadRequest();
}
if (!_signInManager.GetExternalAuthenticationSchemes().Any(x=>x.AuthenticationScheme==Provider)) {
_logger.LogWarning($"Provider not found : {Provider}");
return HttpBadRequest();
}
// Note: the "returnUrl" parameter corresponds to the endpoint the user agent
// will be redirected to after a successful authentication and not
// the redirect_uri of the requesting client application.
if (string.IsNullOrEmpty(ReturnUrl)) {
_logger.LogWarning("ReturnUrl not specified");
return HttpBadRequest();
}
// Instruct the middleware corresponding to the requested external identity
// provider to redirect the user agent to its own authorization endpoint.
// Note: the authenticationScheme parameter must match the value configured in Startup.cs
var redirectUrl = Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = ReturnUrl });
var properties = _signInManager.ConfigureExternalAuthenticationProperties(Provider, redirectUrl);
return new ChallengeResult(Provider, properties);
}
[HttpGet("~/signout"), HttpPost("~/signout")]
public async Task SignOut() {
// Instruct the cookies middleware to delete the local cookie created
// when the user agent is redirected from the external identity provider
// after a successful authentication flow (e.g Google or Facebook).
await HttpContext.Authentication.SignOutAsync("ServerCookie");
}
[HttpGet("~/api/getclaims"), Produces("application/json")]
public IActionResult GetClaims()
{
var identity = User.Identity as ClaimsIdentity;
var claims = from c in identity.Claims
select new
{
subject = c.Subject.Name,
type = c.Type,
value = c.Value
};
return Ok(claims);
}
[HttpGet("~/connect/authorize"), HttpPost("~/connect/authorize")]
public async Task<IActionResult> Authorize(CancellationToken cancellationToken) {
// Note: when a fatal error occurs during the request processing, an OpenID Connect response
// is prematurely forged and added to the ASP.NET context by OpenIdConnectServerHandler.
// You can safely remove this part and let ASOS automatically handle the unrecoverable errors
// by switching ApplicationCanDisplayErrors to false in Startup.cs.
var response = HttpContext.GetOpenIdConnectResponse();
if (response != null) {
return View("OidcError", response);
}
// Extract the authorization request from the ASP.NET environment.
var request = HttpContext.GetOpenIdConnectRequest();
if (request == null) {
return View("OidcError", new OpenIdConnectMessage {
Error = OpenIdConnectConstants.Errors.ServerError,
ErrorDescription = "An internal error has occurred"
});
}
// Note: authentication could be theorically enforced at the filter level via AuthorizeAttribute
// but this authorization endpoint accepts both GET and POST requests while the cookie middleware
// only uses 302 responses to redirect the user agent to the login page, making it incompatible with POST.
// To work around this limitation, the OpenID Connect request is automatically saved in the cache and will be
// restored by the OpenID Connect server middleware after the external authentication process has been completed.
if (!User.Identities.Any(identity => identity.IsAuthenticated)) {
return new ChallengeResult(new AuthenticationProperties {
RedirectUri = Url.Action(nameof(Authorize), new {
request_id = request.GetUniqueIdentifier()
})
});
}
// Note: ASOS automatically ensures that an application corresponds to the client_id specified
// in the authorization request by calling IOpenIdConnectServerProvider.ValidateAuthorizationRequest.
// In theory, this null check shouldn't be needed, but a race condition could occur if you
// manually removed the application details from the database after the initial check made by ASOS.
var application = await GetApplicationAsync(request.ClientId, cancellationToken);
if (application == null) {
return View("OidcError", new OpenIdConnectMessage {
Error = OpenIdConnectConstants.Errors.InvalidClient,
ErrorDescription = "Details concerning the calling client application cannot be found in the database"
});
}
// Note: in a real world application, you'd probably prefer creating a specific view model.
return View("Authorize", Tuple.Create(request, application));
}
[Authorize, HttpPost("~/connect/authorize/accept"), ValidateAntiForgeryToken]
public async Task<IActionResult> Accept(CancellationToken cancellationToken) {
var response = HttpContext.GetOpenIdConnectResponse();
if (response != null) {
return View("OidcError", response);
}
var request = HttpContext.GetOpenIdConnectRequest();
if (request == null) {
return View("OidcError", new OpenIdConnectMessage {
Error = OpenIdConnectConstants.Errors.ServerError,
ErrorDescription = "An internal error has occurred"
});
}
// Create a new ClaimsIdentity containing the claims that
// will be used to create an id_token, a token or a code.
var identity = new ClaimsIdentity(OpenIdConnectServerDefaults.AuthenticationScheme);
// Copy the claims retrieved from the external identity provider
// (e.g Google, Facebook, a WS-Fed provider or another OIDC server).
foreach (var claim in HttpContext.User.Claims) {
// Allow ClaimTypes.Name to be added in the id_token.
// ClaimTypes.NameIdentifier is automatically added, even if its
// destination is not defined or doesn't include "id_token".
// The other claims won't be visible for the client application.
/*
if (claim.Type == ClaimTypes.Name) {
claim.SetDestinations(OpenIdConnectConstants.Destinations.AccessToken,
OpenIdConnectConstants.Destinations.IdentityToken);
}
*/
if (claim.Type == ClaimTypes.Name) {
claim.WithDestination("code");
claim.WithDestination("id_token");
}
identity.AddClaim(claim);
}
var application = await GetApplicationAsync(request.ClientId, cancellationToken);
if (application == null) {
return View("OidcError", new OpenIdConnectMessage {
Error = OpenIdConnectConstants.Errors.InvalidClient,
ErrorDescription = "Details concerning the calling client application cannot be found in the database"
});
}
// Create a new ClaimsIdentity containing the claims associated with the application.
// Note: setting identity.Actor is not mandatory but can be useful to access
// the whole delegation chain from the resource server (see ResourceController.cs).
identity.Actor = new ClaimsIdentity(OpenIdConnectServerDefaults.AuthenticationScheme);
identity.Actor.AddClaim(ClaimTypes.NameIdentifier, application.ApplicationID);
identity.Actor.AddClaim(ClaimTypes.Name, application.DisplayName,"code id_token");
var properties = new AuthenticationProperties();
// Note: you can change the list of scopes granted
// to the client application using SetScopes:
properties.SetScopes(new[] {
/* openid: */ OpenIdConnectConstants.Scopes.OpenId,
/* email: */ OpenIdConnectConstants.Scopes.Email,
/* profile: */ OpenIdConnectConstants.Scopes.Profile,
/* api-resource-controller: */ "api-resource-controller"
});
// You can also limit the resources endpoints
// the access token should be issued for:
properties.SetResources(new[] {
"http://localhost:54540/"
});
// This call will instruct AspNet.Security.OpenIdConnect.Server to serialize
// the specified identity to build appropriate tokens (id_token and token).
// Note: you should always make sure the identities you return contain either
// a 'sub' or a 'ClaimTypes.NameIdentifier' claim. In this case, the returned
// identities always contain the name identifier returned by the external provider.
// Note: the authenticationScheme parameter must match the value configured in Startup.cs.
await HttpContext.Authentication.SignInAsync(
OpenIdConnectServerDefaults.AuthenticationScheme,
new ClaimsPrincipal(identity), properties);
return new EmptyResult();
}
[Authorize, HttpPost("~/connect/authorize/deny"), ValidateAntiForgeryToken]
public IActionResult Deny(CancellationToken cancellationToken) {
var response = HttpContext.GetOpenIdConnectResponse();
if (response != null) {
return View("OidcError", response);
}
var request = HttpContext.GetOpenIdConnectRequest();
if (request == null) {
return View("OidcError", new OpenIdConnectMessage {
Error = OpenIdConnectConstants.Errors.ServerError,
ErrorDescription = "An internal error has occurred"
});
}
// Notify AspNet.Security.OpenIdConnect.Server that the authorization grant has been denied.
// Note: OpenIdConnectServerHandler will automatically take care of redirecting
// the user agent to the client application using the appropriate response_mode.
HttpContext.SetOpenIdConnectResponse(new OpenIdConnectMessage {
Error = "access_denied",
ErrorDescription = "The authorization grant has been denied by the resource owner",
RedirectUri = request.RedirectUri,
State = request.State
});
return new EmptyResult();
}
[HttpGet("~/connect/logout")]
public async Task<ActionResult> Logout() {
var response = HttpContext.GetOpenIdConnectResponse();
if (response != null) {
return View("OidcError", response);
}
// When invoked, the logout endpoint might receive an unauthenticated request if the server cookie has expired.
// When the client application sends an id_token_hint parameter, the corresponding identity can be retrieved
// using AuthenticateAsync or using User when the authorization server is declared as AuthenticationMode.Active.
var identity = await HttpContext.Authentication.AuthenticateAsync(OpenIdConnectServerDefaults.AuthenticationScheme);
var request = HttpContext.GetOpenIdConnectRequest();
if (request == null) {
return View("OidcError", new OpenIdConnectMessage {
Error = OpenIdConnectConstants.Errors.ServerError,
ErrorDescription = "An internal error has occurred"
});
}
return View("Logout", Tuple.Create(request, identity));
}
[HttpPost("~/connect/logout")]
[ValidateAntiForgeryToken]
public async Task Logout(CancellationToken cancellationToken) {
// Instruct the cookies middleware to delete the local cookie created
// when the user agent is redirected from the external identity provider
// after a successful authentication flow (e.g Google or Facebook).
await HttpContext.Authentication.SignOutAsync("ServerCookie");
// This call will instruct AspNet.Security.OpenIdConnect.Server to serialize
// the specified identity to build appropriate tokens (id_token and token).
// Note: you should always make sure the identities you return contain either
// a 'sub' or a 'ClaimTypes.NameIdentifier' claim. In this case, the returned
// identities always contain the name identifier returned by the external provider.
await HttpContext.Authentication.SignOutAsync(OpenIdConnectServerDefaults.AuthenticationScheme);
}
protected virtual Task<Application> GetApplicationAsync(string identifier, CancellationToken cancellationToken)
{
// Retrieve the application details corresponding to the requested client_id.
_logger.LogWarning($"Ap count : {_context.Applications.Count()}");
return (from application in _context.Applications
where application.ApplicationID == identifier
select application).SingleOrDefaultAsync(cancellationToken);
}
private async Task<ApplicationUser> GetCurrentUserAsync()
{
return await _userManager.FindByIdAsync(HttpContext.User.GetUserId());
}
private IActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction(nameof(HomeController.Index), "Home");
}
}
}
}

View File

@ -1,120 +0,0 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using AspNet.Security.OpenIdConnect.Extensions;
using AspNet.Security.OpenIdConnect.Server;
using Microsoft.Data.Entity;
using Microsoft.Extensions.DependencyInjection;
using Yavsc.Models;
namespace Yavsc.Providers {
public sealed class OIAuthorizationProvider : OpenIdConnectServerProvider {
public override Task MatchEndpoint(MatchEndpointContext context) {
// Note: by default, OpenIdConnectServerHandler only handles authorization requests made to the authorization endpoint.
// This context handler uses a more relaxed policy that allows extracting authorization requests received at
// /connect/authorize/accept and /connect/authorize/deny (see AuthorizationController.cs for more information).
if (context.Options.AuthorizationEndpointPath.HasValue &&
context.Request.Path.StartsWithSegments(context.Options.AuthorizationEndpointPath)) {
context.MatchesAuthorizationEndpoint();
}
return Task.FromResult<object>(null);
}
public override async Task ValidateAuthorizationRequest(ValidateAuthorizationRequestContext context) {
// Note: the OpenID Connect server middleware supports the authorization code, implicit and hybrid flows
// but this authorization provider only accepts response_type=code authorization/authentication requests.
// You may consider relaxing it to support the implicit or hybrid flows. In this case, consider adding
// checks rejecting implicit/hybrid authorization requests when the client is a confidential application.
if (!context.Request.IsAuthorizationCodeFlow()) {
context.Rejected(
error: OpenIdConnectConstants.Errors.UnsupportedResponseType,
description: "Only the authorization code flow is supported by this authorization server");
return;
}
var database = context.HttpContext.RequestServices.GetRequiredService<ApplicationDbContext>();
// Retrieve the application details corresponding to the requested client_id.
var application = await (from entity in database.Applications
where entity.ApplicationID == context.ClientId
select entity).SingleOrDefaultAsync(context.HttpContext.RequestAborted);
if (application == null) {
context.Rejected(
error: OpenIdConnectConstants.Errors.InvalidClient,
description: "Application not found in the database: ensure that your client_id is correct");
return;
}
if (!string.IsNullOrEmpty(context.Request.RedirectUri) &&
!string.Equals(context.Request.RedirectUri, application.RedirectUri, StringComparison.Ordinal)) {
context.Rejected(
error: OpenIdConnectConstants.Errors.InvalidClient,
description: "Invalid redirect_uri");
return;
}
context.Validated();
}
public override async Task ValidateTokenRequest(ValidateTokenRequestContext context) {
// Note: the OpenID Connect server middleware supports authorization code, refresh token, client credentials
// and resource owner password credentials grant types but this authorization provider uses a safer policy
// rejecting the last two ones. You may consider relaxing it to support the ROPC or client credentials grant types.
if (!context.Request.IsAuthorizationCodeGrantType() && !context.Request.IsRefreshTokenGrantType()) {
context.Rejected(
error: OpenIdConnectConstants.Errors.UnsupportedGrantType,
description: "Only authorization code and refresh token grant types " +
"are accepted by this authorization server");
return;
}
// Note: client authentication is not mandatory for non-confidential client applications like mobile apps
// (except when using the client credentials grant type) but this authorization server uses a safer policy
// that makes client authentication mandatory and returns an error if client_id or client_secret is missing.
// You may consider relaxing it to support the resource owner password credentials grant type
// with JavaScript or desktop applications, where client credentials cannot be safely stored.
// In this case, call context.Skip() to inform the server middleware the client is not trusted.
if (string.IsNullOrEmpty(context.Request.ClientId) || string.IsNullOrEmpty(context.Request.ClientSecret)) {
context.Rejected(
error: OpenIdConnectConstants.Errors.InvalidRequest,
description: "Missing credentials: ensure that your credentials were correctly " +
"flowed in the request body or in the authorization header");
return;
}
var database = context.HttpContext.RequestServices.GetRequiredService<ApplicationDbContext>();
// Retrieve the application details corresponding to the requested client_id.
var application = await (from entity in database.Applications
where entity.ApplicationID == context.ClientId
select entity).SingleOrDefaultAsync(context.HttpContext.RequestAborted);
if (application == null) {
context.Rejected(
error: OpenIdConnectConstants.Errors.InvalidClient,
description: "Application not found in the database: ensure that your client_id is correct");
return;
}
if (!string.Equals(context.Request.ClientSecret, application.Secret, StringComparison.Ordinal)) {
context.Rejected(
error: OpenIdConnectConstants.Errors.InvalidClient,
description: "Invalid credentials: ensure that you specified a correct client_secret");
return;
}
context.Validated();
}
}
}

View File

@ -8,12 +8,10 @@ using System.Security.Claims;
using System.Threading.Tasks;
using System.Web;
using System.Web.Optimization;
using AspNet.Security.OpenIdConnect.Extensions;
using Microsoft.AspNet.Authentication;
using Microsoft.AspNet.Authentication.Cookies;
using Microsoft.AspNet.Authentication.JwtBearer;
using Microsoft.AspNet.Authentication.OAuth;
using Microsoft.AspNet.Authentication.OpenIdConnect;
using Microsoft.AspNet.Authorization;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.DataProtection.Infrastructure;
@ -36,13 +34,11 @@ using Microsoft.Extensions.Logging;
using Microsoft.Extensions.OptionsModel;
using Microsoft.Extensions.PlatformAbstractions;
using Microsoft.Extensions.WebEncoders;
using Microsoft.IdentityModel.Protocols.OpenIdConnect;
using Microsoft.Net.Http.Headers;
using Yavsc.Auth;
using Yavsc.Extensions;
using Yavsc.Formatters;
using Yavsc.Models;
using Yavsc.Providers;
using Yavsc.Services;
@ -233,10 +229,6 @@ namespace Yavsc
{
options.AddPolicy("AdministratorOnly", policy => policy.RequireRole(Constants.AdminGroupName));
options.AddPolicy("FrontOffice", policy => policy.RequireRole(Constants.FrontOfficeGroupName));
options.AddPolicy("API", policy => {
policy.AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme);
policy.RequireClaim(OpenIdConnectConstants.Claims.Scope, "api-resource-controller");
});
// options.AddPolicy("EmployeeId", policy => policy.RequireClaim("EmployeeId", "123", "456"));
// options.AddPolicy("BuildingEntry", policy => policy.Requirements.Add(new OfficeEntryRequirement()));
});
@ -354,6 +346,7 @@ namespace Yavsc
SaveTokensAsClaims = true,
UserInformationEndpoint = "https://www.googleapis.com/plus/v1/people/me",
};
var gvents = new OAuthEvents();
googleOptions.Events = new OAuthEvents
@ -374,10 +367,6 @@ namespace Yavsc
googleOptions.Scope.Add("https://www.googleapis.com/auth/calendar");
app.UseIISPlatformHandler(options => options.AuthenticationDescriptions.Clear());
app.UseStaticFiles().UseWebSockets();
var udirinfo = new DirectoryInfo(Configuration["Site:UserFiles:RootDir"]);
if (!udirinfo.Exists)
throw new Exception($"Configuration value for Site:UserFiles:RootDir : {udirinfo.FullName}");
@ -390,38 +379,30 @@ namespace Yavsc
EnableDirectoryBrowsing = true
});
app.UseIISPlatformHandler(options => options.AuthenticationDescriptions.Clear());
app.UseStaticFiles().UseWebSockets();
app.UseRequestLocalization(localizationOptions.Value, (RequestCulture)new RequestCulture((string)"fr"));
app.UseIdentity();
app.UseWhen(context => context.Request.Path.StartsWithSegments(new PathString("/api")), branch => {
branch.UseJwtBearerAuthentication(options => {
options.AutomaticAuthenticate = true;
options.AutomaticChallenge = true;
options.RequireHttpsMetadata = false;
options.Audience = "http://localhost:54540/";
options.Authority = "http://localhost:54540/";
});
});
// Create a new branch where the registered middleware will be executed only for non API calls.
app.UseWhen(context => !context.Request.Path.StartsWithSegments(new PathString("/api")), branch => {
// Insert a new cookies middleware in the pipeline to store
// the user identity returned by the external identity provider.
branch.UseCookieAuthentication(options => {
app.UseCookieAuthentication(options => {
options.AutomaticAuthenticate = true;
options.AutomaticChallenge = true;
options.AuthenticationScheme = "ServerCookie";
options.CookieName = CookieAuthenticationDefaults.CookiePrefix + "ServerCookie";
options.ExpireTimeSpan = TimeSpan.FromMinutes(5);
options.LoginPath = new PathString("/signin");
options.LoginPath = new PathString("/Account/Login");
});
branch.UseMiddleware<GoogleMiddleware>(googleOptions);
app.UseMiddleware<GoogleMiddleware>(googleOptions);
// Facebook
branch.UseFacebookAuthentication(options =>
app.UseFacebookAuthentication(options =>
{
options.AppId = Configuration["Authentication:Facebook:AppId"];
options.AppSecret = Configuration["Authentication:Facebook:AppSecret"];
@ -429,133 +410,6 @@ namespace Yavsc
options.UserInformationEndpoint = "https://graph.facebook.com/v2.5/me?fields=id,name,email,first_name,last_name";
});
});
/*
app.UseCookieAuthentication(options =>
{
options.LoginPath = "/signin";
options.AuthenticationScheme = "ServerCookie";
options.AutomaticAuthenticate = true;
options.AutomaticChallenge = true;
options.CookieName = CookieAuthenticationDefaults.CookiePrefix + "ServerCookie";
options.ExpireTimeSpan = TimeSpan.FromHours(
(double)double.Parse(
(string)Configuration[(string)"DataProtection:ExpiresInHours"])
);
}); */
/* app.UseOAuthAuthentication(options => {
options.AutomaticAuthenticate = true;
options.AuthenticationScheme = "oidc" ;
options.ClientId = "resource_server";
options.ClientSecret = "875sqd4s5d748z78z7ds1ff8zz8814ff88ed8ea4z4zzd";
options.CallbackPath = new PathString("/signin-oidc");
options.Events = new OAuthEvents
{
OnRedirectToAuthorizationEndpoint = context => {
var query = QueryHelpers.AddQueryString(context.RedirectUri, "resource","https://dev.pschneider.fr");
context.Response.Redirect(query);
return Task.FromResult(0);
}
};
options.ClaimsIssuer = "https://dev.pschneider.fr/";
options.AuthorizationEndpoint = "https://dev.pschneider.fr/connect/authorize/";
options.TokenEndpoint = "https://dev.pschneider.fr/connect/authorize/accept";
}); */
/**/
// Alternatively, you can also use the introspection middleware.
// Using it is recommended if your resource server is in a
// different application/separated from the authorization server.
//
// branch.UseOAuthIntrospection(new OAuthIntrospectionOptions {
// AutomaticAuthenticate = true,
// AutomaticChallenge = true,
// Authority = "http://localhost:54540/",
// Audiences = { "resource_server" },
// ClientId = "resource_server",
// ClientSecret = "875sqd4s5d748z78z7ds1ff8zz8814ff88ed8ea4z4zzd"
// });
app.UseIISPlatformHandler(options => options.AuthenticationDescriptions.Clear());
app.UseStaticFiles().UseWebSockets();
app.UseOpenIdConnectServer(options => {
options.Provider = new OIAuthorizationProvider()
/* {
OnValidateAuthorizationRequest = context => {
// Note: you MUST NOT validate the request if client_id is invalid or if redirect_uri
// doesn't correspond to a trusted URL associated with the client application.
// You SHOULD also strongly consider validating the type of the client application
// (public or confidential) to prevent code flow -> implicit flow downgrade attacks.
if (string.Equals(context.ClientId, "client_id", StringComparison.Ordinal)) {
context.Validated();
}
// Note: if Validate() is not explicitly called,
// the request is automatically rejected.
return Task.FromResult(0);
} */;
// Register the certificate used to sign the JWT tokens.
/* options.SigningCredentials.AddCertificate(
assembly: typeof(Startup).GetTypeInfo().Assembly,
resource: "Mvc.Server.Certificate.pfx",
password: "Owin.Security.OpenIdConnect.Server"); */
// options.SigningCredentials.AddKey(key);
// Note: see AuthorizationController.cs for more
// information concerning ApplicationCanDisplayErrors.
options.ApplicationCanDisplayErrors = true;
options.AllowInsecureHttp = true;
options.ClaimsIssuer = "http://dev.pschneider.fr";
options.Description.DisplayName = "DEV OIDC server";
options.AuthorizationEndpointPath = new PathString("/connect/authorize");
options.TokenEndpointPath = new PathString("/connect/token");
options.UseSlidingExpiration = true;
options.AuthenticationScheme = "oidc";
options.LogoutEndpointPath = new PathString("/connect/logout");
/* options.ValidationEndpointPath = new PathString("/connect/introspect"); */
});
/* app.UseOpenIdConnectAuthentication(options => {
options.AuthenticationScheme = OpenIdConnectDefaults.AuthenticationScheme;
options.RequireHttpsMetadata = false;
// Note: these settings must match the application details
// inserted in the database at the server level.
options.ClientId = "016c5ae4-f4cd-40e3-b250-13701c871ecd";
options.ClientSecret = "blahblah";
options.PostLogoutRedirectUri = "/MobileLogout";
// Use the authorization code flow.
options.ResponseType = OpenIdConnectResponseTypes.Code;
// Note: setting the Authority allows the OIDC client middleware to automatically
// retrieve the identity provider's configuration and spare you from setting
// the different endpoints URIs or the token validation parameters explicitly.
options.Authority = "http://dev.pschneider.fr/";
// Note: the resource property represents the different endpoints the
// access token should be issued for (values must be space-delimited).
options.Resource = "http://dev.pschneider.fr/";
options.Scope.Add("api-resource-controller");
});*/
app.UseRequestLocalization(localizationOptions.Value, (RequestCulture)new RequestCulture((string)"fr"));
// app.UseMiddleware<RequiredScopesMiddleware>(new List<string>{"AspNet.Identity.SecurityStamp"});
/* Generic OAuth (here GitHub): options.Notifications = new OAuthAuthenticationNotifications
@ -630,5 +484,4 @@ namespace Yavsc
public static void Main(string[] args) => Microsoft.AspNet.Hosting.WebApplication.Run<Startup>(args);
}
}