Exemple #1
0
        public HttpResponseMessage Negotiate([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "1.0/negotiate")]
                                             HttpRequestMessage req)
        {
            req.Headers.TryGetValues(HeaderNames.Authorization, out IEnumerable <string> authorizationEnumerable);
            if (authorizationEnumerable == null)
            {
                return(ResponseBuilderHelper.BuildResponse(HttpStatusCode.Unauthorized));
            }

            var authorizationList = authorizationEnumerable.ToList();

            if (authorizationList.Count == 0)
            {
                return(ResponseBuilderHelper.BuildResponse(HttpStatusCode.Unauthorized));
            }

            var(isValidToken, claims) = _jwtProvider.ValidateToken(authorizationList[0], Settings.AuthorizationKey);
            if (!isValidToken)
            {
                return(ResponseBuilderHelper.BuildResponse(HttpStatusCode.Unauthorized));
            }

            claims.TryGetValue("userID", out var userID);
            if (string.IsNullOrEmpty(userID))
            {
                return(ResponseBuilderHelper.BuildResponse(HttpStatusCode.BadRequest, "Missing parameter: userID"));
            }

            return(ResponseBuilderHelper.BuildResponse(HttpStatusCode.OK, new NegotiateActivityResponse()
            {
                UserID = userID
            }));
        }
 public HttpResponseMessage Authenticate(
     [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "1.0/authenticate")]
     HttpRequestMessage req)
 {
     return(ResponseBuilderHelper.BuildResponse(System.Net.HttpStatusCode.OK, new AuthenticateActivityResponse()
     {
         Token = _jwtProvider.GenerateToken(Settings.AuthorizationKey)
     }));
 }
        private async Task <(HttpResponseMessage, object)> ValidateRequestAsync(HttpRequestMessage req)
        {
            try
            {
                string content = await req.Content.ReadAsStringAsync();

                var requestData = JsonConvert.DeserializeObject <CreateActivityRequest>(content);

                if (requestData == null)
                {
                    return(ResponseBuilderHelper.BuildResponse(HttpStatusCode.BadRequest, "There was an error processing the request"), default);