示例#1
0
        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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        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);
        }
示例#4
0
        /// <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);
        }