protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { base.ApplicationStartup(container, pipelines); StatelessAuthentication.Enable(pipelines, new StatelessAuthenticationConfiguration(ctx => { // Check for the API key string accessToken = null; if (ctx.Request.Query.apikey.HasValue) { accessToken = ctx.Request.Query.apikey; } else if (ctx.Request.Form["apikey"].HasValue) { accessToken = ctx.Request.Form["apikey"]; } else { var authHeader = ctx.Request.Headers.Authorization; if (!string.IsNullOrWhiteSpace(authHeader)) { accessToken = authHeader; } } // Authenticate the request var authService = new ApiClientAuthenticationService(ServerContext); return(accessToken == null ? null : authService.ResolveClientIdentity(accessToken)); })); }
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { base.ApplicationStartup(container, pipelines); // Enable cookie sessions CookieBasedSessions.Enable(pipelines); // Enable authentication StatelessAuthentication.Enable(pipelines, new StatelessAuthenticationConfiguration(ctx => { // Take API from query string var apiKey = (string)ctx.Request.Query.apiKey.Value; // get user identity return(ApiClientAuthenticationService.ResolveClientIdentity(apiKey)); })); }