public static JwtData GetJwtToken(IHeaderDictionary header) { var jwt = header.FirstOrDefault(c => c.Key == "jwt").Value; if (string.IsNullOrWhiteSpace(jwt)) { throw new Exception("No valid JWT found"); } var helper = DecodeJWT.DecodeToken(jwt); return(helper); }
/// <summary> /// A simple function that takes a string and does a ToUpper /// </summary> /// <param name="input"></param> /// <param name="context"></param> /// <returns></returns> public async Task <APIGatewayProxyResponse> FunctionHandler(APIGatewayProxyRequest request, ILambdaContext context) { if (request.HttpMethod == "OPTIONS") { return(new ApiGatewayResponse(200)); } string token = request.Headers["Authorization"]; var accountEmail = DecodeJWT.GetAccountEmail(token); //LambdaLogger.Log("Context Identity: " + JsonConvert.SerializeObject(context)); //LambdaLogger.Log("Request Context" + JsonConvert.SerializeObject(request.RequestContext.Authorizer.)); UserService _service = new UserService(); var user = await _service.GetUserByKey(accountEmail); ApiGatewayResponse response = new ApiGatewayResponse() { StatusCode = 200, Body = JsonConvert.SerializeObject(user) }; return(response); }
public async Task <ApiGatewayResponse> FunctionHandler(APIGatewayProxyRequest request, ILambdaContext context) { string token = request.Headers["Authorization"]; LambdaLogger.Log("CONTEXT: " + JsonConvert.SerializeObject(request)); LambdaLogger.Log("BODY: " + JsonConvert.SerializeObject(request.Body)); var accountEmail = DecodeJWT.GetAccountEmail(token); //byte[] data = Convert.FromBase64String(request.Body); //string decodedString = Encoding.UTF8.GetString(data); var user = JsonConvert.DeserializeObject <User>(request.Body); user.Email = accountEmail; UserService _service = new UserService(); await _service.PutUser(user); ApiGatewayResponse response = new ApiGatewayResponse() { StatusCode = 200 }; return(response); }
/// <summary> /// A simple function that takes a string and does a ToUpper /// </summary> /// <param name="input"></param> /// <param name="context"></param> /// <returns></returns> public async Task <APIGatewayProxyResponse> FunctionHandler(APIGatewayProxyRequest request, ILambdaContext context) { if (request.HttpMethod == "OPTIONS") { return(new ApiGatewayResponse(200)); } LambdaLogger.Log("CONTEXT: " + JsonConvert.SerializeObject(request)); string token = request.Headers["Authorization"]; LambdaLogger.Log("Token: " + token); var accountEmail = DecodeJWT.GetAccountEmail(token); LambdaLogger.Log("Serial: " + DecodeJWT.GetAccountEmail(token)); PetService _service = new PetService(); var pets = await _service.GetAllUserPets(accountEmail); ApiGatewayResponse response = new ApiGatewayResponse() { StatusCode = 200, Body = JsonConvert.SerializeObject(pets) }; return(response); }