Update samples with error handling
This commit is contained in:
parent
defc9faac0
commit
b09777fe38
|
|
@ -2,15 +2,18 @@ using System.Linq;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using System.Net.Http.Headers;
|
using System.Net.Http.Headers;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using Microsoft.AspNet.Authentication.Cookies;
|
using Microsoft.AspNet.Authentication.Cookies;
|
||||||
using Microsoft.AspNet.Authentication.Google;
|
using Microsoft.AspNet.Authentication.Google;
|
||||||
using Microsoft.AspNet.Authentication.MicrosoftAccount;
|
using Microsoft.AspNet.Authentication.MicrosoftAccount;
|
||||||
using Microsoft.AspNet.Authentication.OAuth;
|
using Microsoft.AspNet.Authentication.OAuth;
|
||||||
|
using Microsoft.AspNet.Authentication.Twitter;
|
||||||
using Microsoft.AspNet.Builder;
|
using Microsoft.AspNet.Builder;
|
||||||
using Microsoft.AspNet.Http;
|
using Microsoft.AspNet.Http;
|
||||||
using Microsoft.AspNet.Http.Authentication;
|
using Microsoft.AspNet.Http.Authentication;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using Microsoft.Extensions.WebEncoders;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
namespace CookieSample
|
namespace CookieSample
|
||||||
|
|
@ -58,6 +61,17 @@ namespace CookieSample
|
||||||
{
|
{
|
||||||
options.ClientId = "560027070069-37ldt4kfuohhu3m495hk2j4pjp92d382.apps.googleusercontent.com";
|
options.ClientId = "560027070069-37ldt4kfuohhu3m495hk2j4pjp92d382.apps.googleusercontent.com";
|
||||||
options.ClientSecret = "n2Q-GEw9RQjzcRbU3qhfTj8f";
|
options.ClientSecret = "n2Q-GEw9RQjzcRbU3qhfTj8f";
|
||||||
|
options.Events = new OAuthEvents()
|
||||||
|
{
|
||||||
|
OnRemoteError = ctx =>
|
||||||
|
|
||||||
|
{
|
||||||
|
ctx.Response.Redirect("/error?ErrorMessage=" + UrlEncoder.Default.UrlEncode(ctx.Error.Message));
|
||||||
|
ctx.HandleResponse();
|
||||||
|
return Task.FromResult(0);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// https://apps.twitter.com/
|
// https://apps.twitter.com/
|
||||||
|
|
@ -65,6 +79,15 @@ namespace CookieSample
|
||||||
{
|
{
|
||||||
options.ConsumerKey = "6XaCTaLbMqfj6ww3zvZ5g";
|
options.ConsumerKey = "6XaCTaLbMqfj6ww3zvZ5g";
|
||||||
options.ConsumerSecret = "Il2eFzGIrYhz6BWjYhVXBPQSfZuS4xoHpSSyD9PI";
|
options.ConsumerSecret = "Il2eFzGIrYhz6BWjYhVXBPQSfZuS4xoHpSSyD9PI";
|
||||||
|
options.Events = new TwitterEvents()
|
||||||
|
{
|
||||||
|
OnRemoteError = ctx =>
|
||||||
|
{
|
||||||
|
ctx.Response.Redirect("/error?ErrorMessage=" + UrlEncoder.Default.UrlEncode(ctx.Error.Message));
|
||||||
|
ctx.HandleResponse();
|
||||||
|
return Task.FromResult(0);
|
||||||
|
}
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
/* https://account.live.com/developers/applications
|
/* https://account.live.com/developers/applications
|
||||||
|
|
@ -217,6 +240,19 @@ namespace CookieSample
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Display the remote error
|
||||||
|
app.Map("/error", errorApp =>
|
||||||
|
{
|
||||||
|
errorApp.Run(async context =>
|
||||||
|
{
|
||||||
|
context.Response.ContentType = "text/html";
|
||||||
|
await context.Response.WriteAsync("<html><body>");
|
||||||
|
await context.Response.WriteAsync("An remote error has occured: " + context.Request.Query["ErrorMessage"] + "<br>");
|
||||||
|
await context.Response.WriteAsync("<a href=\"/\">Home</a>");
|
||||||
|
await context.Response.WriteAsync("</body></html>");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Deny anonymous request beyond this point.
|
// Deny anonymous request beyond this point.
|
||||||
app.Use(async (context, next) =>
|
app.Use(async (context, next) =>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue