protected override async Task ApplyResponseChallengeAsync() { if (Response.StatusCode == 401) { var challenge = Helper.LookupChallenge(Options.AuthenticationType, AuthenticationMode.Passive); if (challenge != null) { EntityId idp; string strIdp; if (challenge.Properties.Dictionary.TryGetValue("idp", out strIdp)) { idp = new EntityId(strIdp); } else { object objIdp = null; Context.Environment.TryGetValue("KentorAuthServices.idp", out objIdp); idp = objIdp as EntityId; } var result = SignInCommand.CreateResult( idp, challenge.Properties.RedirectUri, await Context.ToHttpRequestData(), Options, challenge.Properties); result.Apply(Context); } } }
protected override Task ApplyResponseChallengeAsync() { if (Response.StatusCode == 401) { var challenge = Helper.LookupChallenge(Options.AuthenticationType, AuthenticationMode.Passive); if (challenge != null) { EntityId idp; string strIdp; if (challenge.Properties.Dictionary.TryGetValue("idp", out strIdp)) { idp = new EntityId(strIdp); } else { object objIdp = null; Context.Environment.TryGetValue("KentorAuthServices.idp", out objIdp); idp = objIdp as EntityId; } var result = SignInCommand.CreateResult(idp, challenge.Properties.RedirectUri, Context.Request.Uri); Response.Redirect(result.Location.ToString()); } } return(Task.FromResult(0)); }