Example #1
0
        public async Task <IActionResult> CreateBearerToken()
        {
            string richiestaJson = await Request.GetRawBodyStringAsync();

            if (richiestaJson == null)
            {
                logger.LogError("CreateBearerToken: Contenuto Nullo - Ip: " + accessor.HttpContext.Connection.RemoteIpAddress);
                return(ActionResultGenerator.GeneraRisposta("Contenuto Nullo", TipoDiRisposta.Nok));
            }

            BearerTokenLoginModel bearerTokenLoginModel = JsonConvert.DeserializeObject <BearerTokenLoginModel>(richiestaJson);

            if (bearerTokenLoginModel != new BearerTokenLoginModel(username, password))
            {
                logger.LogError("CreateBearerToken: Credenziali Errate - Ip: " + accessor.HttpContext.Connection.RemoteIpAddress);
                return(Unauthorized());
            }

            try
            {
                JwtToken token = new JwtTokenBuilder()
                                 .AddSecurityKey(JwtSecurityKey.Create(key))
                                 .AddSubject("Angel")
                                 .AddIssuer("Angel")
                                 .AddAudience("Angel")
                                 .AddClaim("AngelId", "1000")
                                 .AddExpiry(expiryInMinutes)
                                 .Build();

                logger.LogInformation("CreateBearerToken: Richiesta Token da Ip: " + accessor.HttpContext.Connection.RemoteIpAddress);
                return(ActionResultGenerator.GeneraRisposta(token.Value, TipoDiRisposta.Ok));
            }
            catch (Exception ex)
            {
                return(Ok(ex.ToString()));
            }
        }
Example #2
0
            /// <summary>
            /// 生成
            /// </summary>
            /// <param name="action">行动</param>
            /// <returns>返回结果</returns>
            public static void generate(RuntimeActionResult result)
            {
                var generator = new ActionResultGenerator(result);

                generator.processEffect();
            }