コード例 #1
0
        public async Task <IActionResult> Login([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "customers/login")]
                                                HttpRequest request, ILogger logger)
        {
            var loginDto = await request.FromBodyAsync <LoginDtoRequest>();

            if (loginDto == null)
            {
                return(new BadRequestObjectResult("Invalid request data"));
            }

            var id = loginDto.UserName.Equals("cheranga", StringComparison.OrdinalIgnoreCase) ? 1 : 2;

            var allowedFeatures = await _getAuthorizationsHandler.HandleAsync(new GetAuthorizationsForUserByIdQuery(id));

            var token = _securityHandler.GenerateToken(
                new Claim(FeatureConstants.AllowedFeaturesClaim, JsonConvert.SerializeObject(allowedFeatures)));

            return(new OkObjectResult(token));
        }