public async Task <HttpResponseMessage> Get([FromUri] AccountLinksQuery q) { return(await this.Request.GetActorIdClaimsAsync((actorId, claims) => { return EastFive.Web.Configuration.Settings.GetGuid( EastFive.Api.AppSettings.ActorIdSuperAdmin, (actorIdSuperAdmin) => { if (actorIdSuperAdmin == actorId) { var settings = ConfigurationManager.AppSettings.AllKeys .Select(x => new AppSetting { Name = x, Value = ConfigurationManager.AppSettings[x] }).OrderBy(x => x.Name).ToArray(); return this.Request.CreateResponse(System.Net.HttpStatusCode.OK, settings, "application/json").ToTask(); } return this.Request.CreateResponse(System.Net.HttpStatusCode.NotFound).ToTask(); }, (why) => this.Request.CreateResponse(System.Net.HttpStatusCode.InternalServerError, why).ToTask()); })); }
public async Task <IHttpActionResult> Get([FromUri] AccountLinksQuery q) { var location = EastFive.Web.Configuration.Settings.GetString("AffirmHealth.PDMS.Api.UILocation", s => s, (s) => ""); var response_mode = q.response_mode; //var redirect_uri = q.redirect_uri; var redirect_uri = $"{location}/upgrade"; //return this.Request.CreateResponse(System.Net.HttpStatusCode.OK, // "You have an old version of the site. Please refresh your browser") // .ToActionResult(); var context = this.Request.GetSessionServerContext(); if (String.IsNullOrWhiteSpace(redirect_uri)) { return(this.Request.CreateRedirectResponse <Controllers.AuthenticationRequestLinkController>(Url).ToActionResult()); } if (!Uri.TryCreate(redirect_uri, UriKind.Absolute, out Uri redirectUrl)) { return(this.Request .CreateResponseValidationFailure(q, qry => qry.redirect_uri) .ToActionResult()); } var response = await context.GetLoginProvider(CredentialValidationMethodTypes.Password, async (loginProvider) => { var callbackUrl = this.Url.GetLocation <OpenIdResponseController>( typeof(OpenIdResponseController) .GetCustomAttributes <RoutePrefixAttribute>() .Select(routePrefix => routePrefix.Prefix) .First()); var authReqId = Guid.NewGuid(); return(await context.Sessions.CreateLoginAsync(authReqId, CredentialValidationMethodTypes.Password, redirectUrl, redirectUrl, (type) => Url.GetLocation(type), (authRequest) => { return this.Request.CreateResponse(System.Net.HttpStatusCode.OK, new Resources.AccountLink { Login = authRequest.loginUrl, Signup = loginProvider.GetSignupUrl(authReqId, callbackUrl), Logout = authRequest.logoutUrl, }); }, () => Request.CreateResponse(System.Net.HttpStatusCode.InternalServerError).AddReason("GUID NOT UNIQUE"), () => Request.CreateResponse(System.Net.HttpStatusCode.InternalServerError).AddReason("AADB2C login is not enabled"), (why) => Request.CreateResponse(System.Net.HttpStatusCode.InternalServerError).AddReason(why), (why) => Request.CreateResponse(System.Net.HttpStatusCode.InternalServerError).AddReason(why))); }, () => Request.CreateResponse(System.Net.HttpStatusCode.InternalServerError) .AddReason("AADB2C login is not enabled") .ToTask(), (why) => Request.CreateResponse(System.Net.HttpStatusCode.InternalServerError) .AddReason(why) .ToTask()); return(response .ToActionResult()); }