aspnet-contrib / aspnet.security.oauth.providers Goto Github PK
View Code? Open in Web Editor NEWOAuth 2.0 social authentication providers for ASP.NET Core
License: Apache License 2.0
OAuth 2.0 social authentication providers for ASP.NET Core
License: Apache License 2.0
Using "app.UseOAuthValidation();"
var host = new WebHostBuilder() .UseKestrel() .UseContentRoot(dir) .UseIISIntegration() .UseStartup<Startup>() .Build();
throws:
An unhandled exception of type 'System.TypeLoadException' occurred in mscorlib.dll
Additional information: Der Typ "Microsoft.AspNetCore.DataProtection.DataProtectionExtensions" in der Assembly "Microsoft.AspNetCore.DataProtection.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" konnte nicht geladen werden.
UPDATE: My bad, sorry, using a newer version of your library fixed it :) 1.0.0-alpha3-0181 is fine.
Doing it
look at #40 the builds are breaking. I presume its due to a change in Korebuild
Hi @PinpointTownes,
I'm getting back to you from this issue and after updating my runtime to beta7. The error of the _signInManager.GetExternalLoginInfoAsync()
persists (always returns null).
I stepped through the code in debugging mode and I found that the necessary claims (NameIdentifier and Name) are present.
Here's my Startup
class as well as my AccountController
:
public void ConfigureServices(IServiceCollection services)
{
// Add Entity Framework services to the services container.
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MyContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
// Add Identity services to the services container.
services.AddIdentity<User, IdentityRole>()
.AddEntityFrameworkStores<MyContext>()
.AddDefaultTokenProviders();
services.AddAuthentication();
// Add MVC services to the services container.
services.AddMvc();
services.Configure<SharedAuthenticationOptions>(options => {
options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.MinimumLevel = LogLevel.Information;
loggerFactory.AddConsole();
loggerFactory.AddDebug();
// Configure the HTTP request pipeline.
app.UseCookieAuthentication(options => {
options.AutomaticAuthentication = true;
options.AuthenticationScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.LoginPath = new PathString("/account/login");
});
// Add the following to the request pipeline only in development environment.
if (env.IsDevelopment())
{
app.UseErrorPage();
app.UseDatabaseErrorPage(DatabaseErrorPageOptions.ShowAll);
}
else
{
// Add Error handling middleware which catches all application specific errors and
// send the request to the following path or controller action.
app.UseErrorHandler("/Home/Error");
}
// Add static files to the request pipeline.
app.UseStaticFiles();
// Add cookie-based authentication to the request pipeline.
app.UseIdentity();
app.UseGitHubAuthentication(options => {
options.ClientId = "xxxxxxxxxxxxxxxx";
options.ClientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
options.SaveTokensAsClaims = true;
options.Scope.Add("user");
options.Scope.Add("user:email");
});
// Add MVC to the request pipeline.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public IActionResult ExternalLogin(string provider, string returnUrl = null)
{
// EnsureDatabaseCreated(_applicationDbContext);
// Request a redirect to the external login provider.
var redirectUrl = Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl });
var properties = _signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl);
return new ChallengeResult(provider, properties);
}
[HttpGet]
[AllowAnonymous]
public async Task<IActionResult> ExternalLoginCallback(string returnUrl = null)
{
var info = await _signInManager.GetExternalLoginInfoAsync(); // Always null
if (info == null)
{
return RedirectToAction(nameof(Login));
}
// Sign in the user with this external login provider if the user already has a login.
var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent: false);
if (result.Succeeded)
{
return RedirectToLocal(returnUrl);
}
if (result.IsLockedOut)
{
return View("Lockout");
}
else
{
// If the user does not have an account, then ask the user to create an account.
ViewData["ReturnUrl"] = returnUrl;
ViewData["LoginProvider"] = info.LoginProvider;
var email = info.ExternalPrincipal.FindFirstValue(ClaimTypes.Email);
return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = email });
}
}
Thanks in advance.
Hey guys.
Just spent the last 2 hours trying to get this damn thing to run... And yeah, no luck. I have tried heaps of things and got heaps of diferent errors, but I will start out with the initial error I get as the ones that were after might be due to my "fixes"
I have a fresh clone of my forked repo as suggested via Contributing.md I cd into: AspNet.Security.OAuth.Providers and type:
dnu restore
This is where the fun starts!
I get the following output:
Microsoft .NET Development Utility Clr-x86-1.0.0-rc2-20221
CACHE https://api.nuget.org/v3/index.json
CACHE https://www.myget.org/F/aspnetcidev/api/v3/index.json
CACHE https://api.nuget.org/v3/index.json
Restoring packages for J:\programming\AspNet.Security.OAuth.Providers\samples\Mvc.Client\project.json
----------
J:\programming\AspNet.Security.OAuth.Providers\samples\Mvc.Client\project.json(0,0): Error: Microsoft.Dnx.Runtime.FileFormatException: unknown keyword platform ---> Microsoft.Dnx.Runtime.FileFormatException: unknown keyword platform ---> System.InvalidOperationException: unknown keyword platform
at Microsoft.Dnx.Runtime.LibraryDependencyType.Parse(String keyword)
at Microsoft.Dnx.Runtime.ProjectReader.PopulateDependencies(String projectPath, IList`1 results, JsonObject settings, String propertyName, Boolean isGacOrFrameworkReference)
at Microsoft.Dnx.Runtime.ProjectReader.BuildTargetFrameworkNode(Project project, String frameworkKey, JsonObject frameworkValue)
at Microsoft.Dnx.Runtime.ProjectReader.BuildTargetFrameworksAndConfigurations(Project project, JsonObject projectJsonObject, ICollection`1 diagnostics)
--- End of inner exception stack trace ---
at Microsoft.Dnx.Runtime.ProjectReader.BuildTargetFrameworksAndConfigurations(Project project, JsonObject projectJsonObject, ICollection`1 diagnostics)
at Microsoft.Dnx.Runtime.ProjectReader.ReadProject(Stream stream, String projectName, String projectPath, ICollection`1 diagnostics)
at Microsoft.Dnx.Runtime.Project.TryGetProject(String path, Project& project, ICollection`1 diagnostics)
--- End of inner exception stack trace ---
at Microsoft.Dnx.Runtime.Project.TryGetProject(String path, Project& project, ICollection`1 diagnostics)
at Microsoft.Dnx.Tooling.RestoreCommand.<RestoreForProject>d__69.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Dnx.Tooling.RestoreCommand.<>c__DisplayClass68_0.<<Execute>b__2>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Microsoft.Dnx.Tooling.RestoreCommand.<Execute>d__68.MoveNext()
----------
Restore failed
unknown keyword platform
NuGet Config files used:
C:\Users\go_ha\AppData\Roaming\NuGet\nuget.config
J:\programming\AspNet.Security.OAuth.Providers\nuget.config
Feeds used:
https://api.nuget.org/v3-flatcontainer/
https://myget-2e16.kxcdn.com/artifacts/aspnetcidev/nuget/v3/flatcontainer/
Apparently the issue is that it is tripping up on this part of the project.json:
"Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0-*" }
As this is the only reference to platform (which is the issue) in the project.json
If I then go ahead and use delete the issue approach (bad I know, but hey, just run under 4.5?)
I get allot further :D yay!
(following removed from project.json)
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0-*" }
},
"imports": [
"dnxcore50",
"portable-net451+win8"
]
}
Yay! It builds
I then proceed to open the solution in the root folder and set the sample project as the startup project. I hit run (IIS) and I get the following:
Managed Debugging Assistant 'BindingFailure' has detected a problem in 'C:\Users\go_ha\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc2-20221\bin\dnx.exe'.
Additional information: The assembly with display name 'Microsoft.AspNet.Server.Kestrel' failed to load in the 'Load' binding context of the AppDomain with ID 1. The cause of the failure was: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.AspNet.Server.Kestrel' or one of its dependencies. The system cannot find the file specified.
The same happens for the web command.
Does anyone have a solution for any of these? Really want to get to implementing Steam login.
Cheers :(
I started with default web application template.
I added the below lines in Startup.cs
app.UseDropboxAuthentication(options =>
{
options.ClientId = "appId";
options.ClientSecret = "appSecret";
options.SaveTokensAsClaims = true;
options.UserInformationEndpoint = "https://api.dropboxapi.com/1/account/info";
options.TokenEndpoint = "https://api.dropboxapi.com/1/oauth2/token";
});
Everything else is as per the default template.
However, in ExternalLoginCallback, await _signInManager.GetExternalLoginInfoAsync() always returns null.
I'll start working on this one. ๐
Hi Kevin, I would like to contribute to the aspnet-contrib. You can reach me at [email protected]. I don't want to flood this message thread with the details of my project. I asked David Fowler but he asked me to contact you.
Here's our discussion. aspnet/Diagnostics#222
Also, here's a linked to the forked Asp.Net.Diagnostics project.
https://github.com/codematrix/Diagnostics
Thanks,
Ross
it might be good to make a Yeoman generator to scaffold the basic project template
Had a read through the repo but couldn't find anything so.
Does this work targeting net46? I have a project that targets net46 and the reference to
"AspNet.Security.OAuth.LinkedIn": "1.0.0-alpha3"
does not work with the error message "... does not support framework .NETFramework,Version=4.6"
Many thanks
In the Owin project we put a default scope in the options file (like this one from the github plugin)
where do we put the default scope, for basic login and user read permissions?
I am unable to build the projects in this dir. Could there be a specific nuget package that the projects should be pinned to?
here is my error stack
Severity Code Description Project File Line Source
Error CS1061 'GitHubAuthenticationOptions' does not contain a definition for 'Notifications' and no extension method 'Notifications' accepting a first argument of type 'GitHubAuthenticationOptions' could be found (are you missing a using directive or an assembly reference?) AspNet.Security.OAuth.GitHub.DNX 4.5.1 C:\projects\AspNet.Security.OAuth.Providers\src\AspNet.Security.OAuth.GitHub\GitHubAuthenticationHandler.cs 45 IntelliSense
Not sure if this has been addressed yet:
ASP.NET Core RC1 Sample application (VS 2015 Community - not update 1)
project.json (public nuget)
"AspNet.Security.OAuth.BattleNet": "1.0.0-alpha3",
Clean user - never been to site - no identity db entries - no battle.net correlation to OAuth Application (Battlenet/identity account combo have never seen this application).
Reproduction:
- Log In (upper right nav)
- Log Into Battle.Net (main body link)
- Press Cancel button (On Battle.Net's signin page)
3a) (note) unselecting wow-profile and clicking continue works as expectedRedirects to our /signin-battlenet(?) which is the standard url for a successful signin and is handled by the 3rd party provider... 3rd party provider does not properly pick up on the "cancel" and throws a 500 error. Regardless of Debug mode, details of this error are not provided.
Startup ConfigureServices:
services.AddIdentity<ApplicationUser, IdentityRole>(options => {
options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromDays(29);
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Startup Configure:
app.UseBattleNetAuthentication(options =>
{
options.SaveTokensAsClaims = true;
options.Scope.Add("wow.profile");
options.ClientSecret = Configuration["xxxxxxxxx:BattleNet:Secret"];
options.ClientId = Configuration["xxxxxxxxx:BattleNet:Key"];
});
app.UseCookieAuthentication(options =>
{
options.AutomaticAuthenticate = true;
options.AuthenticationScheme = "PublicAuth";
options.ClaimsIssuer = "xxxxxxxxx";
options.CookieSecure = CookieSecureOption.Never;
options.ExpireTimeSpan = TimeSpan.FromDays(30);
});
I doubt the CookieAuth is conflicting - it's a separate cookie, separate auth process that brings insecure claims down to where I can access certain info without https. No calls are made in regards to this prior to battle.net redirecting back to /signin-battlenet.
Restoring any of the published packages is no longer working because of the dependency of System.Dynamic.Runtime
. Please update the project dependencies and rebuild them against the rc1-final
packages.
/cc @jerriep
GitHub supports a CONTRIBUTING file containing guidelines for contributions, it will be automatically displayed when opening issues, pull request and so on.
It would be useful to list there the requirements (e.g. http://www.jerriepelser.com/blog/calling-contributors-for-oauth-providers โ "How to do this").
See https://github.com/blog/1184-contributing-guidelines for details.
With the latest dnx etc I get the following error:
This is not a criticism but by why is the attempt by MS to copy NVM and the world of Node considered to be a benefit to those of us delivering systems which make money...( do you feel the frustration ;-) )
'dnx.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Users\andy.dnx\packages\Microsoft.AspNet.WebUtilities\1.0.0-rc2-16106\lib\net451\Microsoft.AspNet.WebUtilities.dll'. Cannot find or open the PDB file.
Microsoft.AspNet.Mvc.Controllers.ControllerActionInvoker: Information: Executing action method Mvc.Client.Controllers.HomeController.Index with arguments () - ModelState is Valid'
Microsoft.AspNet.Server.Kestrel: Error: An unhandled exception was thrown by the application.
System.InvalidOperationException: Unable to resolve service for type 'Microsoft.Extensions.CompilationAbstractions.ILibraryExporter' while attempting to activate 'Microsoft.AspNet.Mvc.Razor.Compilation.RoslynCompilationService'.
at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.PopulateCallSites(ServiceProvider provider, ISet1 callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound) at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.CreateCallSite(ServiceProvider provider, ISet
1 callSiteChain)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetResolveCallSite(IService service, ISet1 callSiteChain) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetServiceCallSite(Type serviceType, ISet
1 callSiteChain)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.PopulateCallSites(ServiceProvider provider, ISet1 callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound) at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.CreateCallSite(ServiceProvider provider, ISet
1 callSiteChain)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetResolveCallSite(IService service, ISet1 callSiteChain) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetServiceCallSite(Type serviceType, ISet
1 callSiteChain)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.PopulateCallSites(ServiceProvider provider, ISet1 callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound) at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.CreateCallSite(ServiceProvider provider, ISet
1 callSiteChain)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetResolveCallSite(IService service, ISet1 callSiteChain) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetServiceCallSite(Type serviceType, ISet
1 callSiteChain)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.PopulateCallSites(ServiceProvider provider, ISet1 callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound) at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.CreateCallSite(ServiceProvider provider, ISet
1 callSiteChain)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetResolveCallSite(IService service, ISet1 callSiteChain) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetServiceCallSite(Type serviceType, ISet
1 callSiteChain)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(Type serviceType, ServiceProvider serviceProvider)
at System.Collections.Concurrent.ConcurrentDictionaryExtensions.GetOrAdd[TKey,TValue,TArg](ConcurrentDictionary2 dictionary, TKey key, Func
3 valueFactory, TArg arg)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderExtensions.GetRequiredService[T](IServiceProvider provider)
at Microsoft.AspNet.Mvc.Razor.Internal.MvcRazorMvcViewOptionsSetup.ConfigureMvc(IServiceProvider serviceProvider, MvcViewOptions options)
at Microsoft.AspNet.Mvc.Razor.Internal.MvcRazorMvcViewOptionsSetup.<>c__DisplayClass0_0.<.ctor>b__0(MvcViewOptions options)
at Microsoft.Extensions.Options.ConfigureOptions1.Configure(TOptions options) at Microsoft.Extensions.Options.OptionsCache
1.CreateOptions()
at System.Threading.LazyInitializer.EnsureInitializedCore[T](T& target, Boolean& initialized, Object& syncLock, Func1 valueFactory) at System.Threading.LazyInitializer.EnsureInitialized[T](T& target, Boolean& initialized, Object& syncLock, Func
1 valueFactory)
at Microsoft.Extensions.Options.OptionsCache1.get_Value() at Microsoft.Extensions.Options.OptionsManager
1.get_Value()
at Microsoft.AspNet.Mvc.ViewEngines.CompositeViewEngine..ctor(IOptions1 optionsAccessor) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite.Invoke(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.ScopedCallSite.Invoke(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.SingletonCallSite.Invoke(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite.Invoke(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.ScopedCallSite.Invoke(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.SingletonCallSite.Invoke(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.<>c__DisplayClass12_0.<RealizeService>b__0(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderExtensions.GetRequiredService[T](IServiceProvider provider) at Microsoft.AspNet.Mvc.ViewResult.<ExecuteResultAsync>d__26.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Mvc.Controllers.FilterActionInvoker.<InvokeResultAsync>d__45.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Mvc.Controllers.FilterActionInvoker.<InvokeResultFilterAsync>d__44.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.AspNet.Mvc.Controllers.FilterActionInvoker.<InvokeAllResultFiltersAsync>d__43.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Mvc.Controllers.FilterActionInvoker.<InvokeResourceFilterAsync>d__38.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.AspNet.Mvc.Controllers.FilterActionInvoker.<InvokeAsync>d__33.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Mvc.Infrastructure.MvcRouteHandler.<InvokeActionAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Builder.RouterMiddleware.<Invoke>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Authentication.AuthenticationMiddleware
1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNet.Authentication.AuthenticationMiddleware1.<Invoke>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Authentication.AuthenticationMiddleware
1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNet.Authentication.AuthenticationMiddleware1.<Invoke>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Authentication.AuthenticationMiddleware
1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNet.Authentication.AuthenticationMiddleware1.<Invoke>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Authentication.AuthenticationMiddleware
1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNet.Authentication.AuthenticationMiddleware1.<Invoke>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Microsoft.AspNet.Hosting.Internal.RequestServicesContainerMiddleware.<Invoke>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult() at Microsoft.AspNet.Server.Kestrel.Http.Frame
1.d__3.MoveNext()
Microsoft.AspNet.Hosting.Internal.WebApplication: Information: Request finished in 3625ms 200
The thread 0x2098 has exited with code 0 (0x0).
The thread 0x30bc has exited with code 0 (0x0).
The thread 0x1cc4 has exited with code 0 (0x0).
This was done for the old https://github.com/RockstarLabs/OwinOAuthProviders project so re-implementing here. @jerriep raised an issue for me a while back but I've only just got round to it sorry.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.