Esempio n. 1
0
        public UsersApiTests()
        {
            const string issuer = "http://localhost:49345";
            const string key    = "some-long-secret-key";

            // Must initialize and open Sqlite connection in order to keep in-memory database tables
            _connection = new SqliteConnection("DataSource=:memory:");
            _connection.Open();

            Startup.ConfigureDbContext = (configuration, builder) => builder.UseSqlite(_connection);

            var server = new TestServer(new WebHostBuilder()
                                        .UseSetting("Tokens:Issuer", issuer)
                                        .UseSetting("Tokens:Key", key)
                                        .UseStartup <Startup>()
                                        .UseUrls("https://localhost:49345"))
            {
                BaseAddress = new Uri("https://localhost:49345")
            };

            // Force creation of InMemory database
            var dbContext = server.Services.GetService <TimeTrackerDbContext>();

            dbContext.Database.EnsureCreated();

            _client = server.CreateClient();

            _nonAdminToken = JwtTokenGenerator.Generate(
                "aspnetcore-workshop-demo", false, issuer, key);
            _adminToken = JwtTokenGenerator.Generate(
                "aspnetcore-workshop-demo", true, issuer, key);
        }
Esempio n. 2
0
        public IActionResult GetToken(string name = "aspnetcore-workshop-demo", bool admin = false)
        {
            var jwt = JwtTokenGenerator
                      .Generate(name, admin, _configuration["Tokens:Issuer"], _configuration["Tokens:Key"]);

            return(Ok(jwt));
        }
        public IActionResult GenerateToken(string name = "aspnetcore-workshop-demo", bool admin = false, bool superUser = false, bool user = false, bool guest = false)
        {
            var jwt = JwtTokenGenerator
                      .Generate(name, admin, superUser, user, guest, _configuration["Tokens:Issuer"], _configuration["Tokens:Key"]);

            return(Ok(new { token = jwt }));
        }
        public IActionResult GenerateToken(string name = "dockertalk")
        {
            var jwt = JwtTokenGenerator
                      .Generate(name, true, _configuration["Tokens:Issuer"], _configuration["Tokens:Key"]);

            return(Ok(jwt));
        }
Esempio n. 5
0
 public AuthResponse Authenticate(AuthRequest model)
 {
     if (_user.Username == model.Username && _user.Password == model.Password)
     {
         var token = JwtTokenGenerator.Generate(_user, _appSettings.GetValue <string>("SecretKey"));
         return(new AuthResponse(_user, token));
     }
     return(null);
 }
        public GamesApiTests()
        {
            const string issuer = "http://localhost:49194";
            const string key    = "some-long-secret-key";

            var server = new TestServer(new WebHostBuilder()
                                        .UseStartup <Startup>()
                                        .UseSetting("Tokens:Issuer", issuer)
                                        .UseSetting("Tokens:Key", key));

            _client = server.CreateClient();

            _nonAdminToken = JwtTokenGenerator.Generate("mscommunity", false, issuer, key);
            _adminToken    = JwtTokenGenerator.Generate("mscommunity", true, issuer, key);
        }
Esempio n. 7
0
        public async Task <IActionResult> Login([FromBody] LoginRequest model)
        {
            User user = await userManager.FindByNameAsync(model.UserName);

            if (user != null)
            {
                if (await userManager.CheckPasswordAsync(user, model.Password))
                {
                    DateTime now = DateTime.Now;
                    if (user.LastSignedAt == null || user.LastSignedAt < now)
                    {
                        user.LastSignedAt = now;
                        await userManager.UpdateAsync(user);
                    }

                    var claims = new List <Claim>()
                    {
                        new Claim(ClaimTypes.Name, user.UserName),
                        new Claim(ClaimTypes.NameIdentifier, user.Id)
                    };

                    if (model.IsAutoRenewable)
                    {
                        string refreshToken = GenerateRefreshToken();
                        string tokenName    = Guid.NewGuid().ToString();
                        claims.Add(new Claim(JwtTokenGenerator.ClaimTypes.RefreshToken, refreshToken));
                        claims.Add(new Claim(JwtTokenGenerator.ClaimTypes.TokenName, tokenName));
                        await userManager.SetAuthenticationTokenAsync(user, JwtTokenGenerator.ClaimTypes.RefreshToken, tokenName, refreshToken);
                    }

                    var token = tokenGenerator.Generate(claims);

                    var response = new LoginResponse()
                    {
                        Token = token
                    };

                    return(Content(json.Serialize(response), "text/json"));
                }
            }

            return(BadRequest());
        }
        public GamesApiTests()
        {
            const string issuer = "http://localhost:44303";
            const string key    = "some-long-secret-key";

            var server = new TestServer(new WebHostBuilder()
                                        .UseStartup <Startup>().UseUrls("https://localhost:44303")
                                        .UseSetting("Tokens:Issuer", issuer)
                                        .UseSetting("Tokens:Key", key))
            {
                BaseAddress = new Uri("https://localhost:44303")
            };

            _client = server.CreateClient();

            _nonAdminToken = JwtTokenGenerator.Generate(
                "aspnetcore-api-demo", false, issuer, key);
            _adminToken = JwtTokenGenerator.Generate(
                "aspnetcore-api-demo", true, issuer, key);
        }
Esempio n. 9
0
        public IActionResult Verify([FromBody] VerificationModel verificationModel)
        {
            if (ModelState.IsValid)
            {
                var user = _userRepository.FindByPhoneNumber(verificationModel.PhoneNumber);

                if (user == null)
                {
                    return(Ok(ServiceResult.Error("کاربری یافت نشد")));
                }

                else
                {
                    if (user.ActivationCode == verificationModel.ActivationCode)
                    {
                        // check time
                        var nowDate = DateTime.Now;

                        var elabsedTime = nowDate - user.CreateActivationCodeDate;

                        if (elabsedTime.Duration().TotalSeconds > 240)
                        {
                            return(Ok(ServiceResult.Error("کد فعالسازی اعتباری ندارد")));
                        }
                        else
                        {
                            var token = _jwtTokenGenerator.Generate(user);
                            return(Ok(ServiceResult.Okay(token)));
                        }
                    }

                    else
                    {
                        return(Ok(ServiceResult.Error("کد فعالسازی نامعتبر می باشد")));
                    }
                }
            }


            return(Ok(ServiceResult.Error("model is not valid")));
        }
        public UsersApiTests()
        {
            const string issuer = "http://localhost:44383";
            const string key    = "sjlksdhcroaishsdjflksdfashfiufiuahdfiuhfiasudiiu";

            var server = new TestServer(new WebHostBuilder()
                                        .UseSetting("Tokens:Issuer", issuer)
                                        .UseSetting("Tokens:Key", key)
                                        .UseSetting("ConnectionStrings:DefaultConnection", "DataSource=:memory:")
                                        .UseStartup <Startup>()
                                        .UseUrls("https://localhost:44383"))
            {
                BaseAddress = new Uri("https://localhost:44383")
            };

            _client = server.CreateClient();

            _nonAdminToken = JwtTokenGenerator.Generate(
                "etf-workshop", false, issuer, key);
            _adminToken = JwtTokenGenerator.Generate(
                "etf-workshop", true, issuer, key);
        }
        public UsersApiTests()
        {
            const string issuer = "http://localhost:44383";
            const string key    = "some-long-secret-key";

            var server = new TestServer(new WebHostBuilder()
                                        .UseSetting("Tokens:Issuer", issuer)
                                        .UseSetting("Tokens:Key", key)
                                        .UseSetting("ConnectionStrings:DefaultConnection", "DataSource=:memory:")
                                        .UseStartup <Startup>()
                                        .UseUrls("https://localhost:44383"))
            {
                BaseAddress = new Uri("https://localhost:44383")
            };

            _client = server.CreateClient();

            _nonAdminToken = JwtTokenGenerator.Generate(
                "aspnetcore-workshop-demo", false, issuer, key);
            _adminToken = JwtTokenGenerator.Generate(
                "aspnetcore-workshop-demo", true, issuer, key);
        }
Esempio n. 12
0
        public UsersApiTests()
        {
            const string issuer = "https://localhost:44383";
            const string key    = "jdfksjdsjkdfkljksdlf"; //Key iz appsettings.json

            var server = new TestServer(new WebHostBuilder()
                                        .UseSetting("Tokens:Issuer", issuer)
                                        .UseSetting("Tokens:Key", key)
                                        .UseSetting("ConnectionStrings:DefaultConnection", "DataSource=:memory:")
                                        .UseStartup <Startup>()
                                        .UseUrls("https://localhost:44383"))
            {
                BaseAddress = new Uri("https://localhost:44383")
            };

            _client = server.CreateClient();

            _nonAdminToken = JwtTokenGenerator.Generate(
                "etf-workshop", false, issuer, key);
            _adminToken = JwtTokenGenerator.Generate(
                "etf-workshop", true, issuer, key);
        }
Esempio n. 13
0
        public UsersApiTests()
        {
            const string issuer = "http://localhost:44365";
            const string key    = "fskfjlsdfnrweljsdhfsjkfhasfkaghsfasgfashgfahr";

            var server = new TestServer(new WebHostBuilder()
                                        .UseSetting("Tokens:Issuer", issuer)
                                        .UseSetting("Tokens:Key", key)
                                        .UseSetting("ConnectionStrings:DefaultConnection", "DataSource=:memory:")
                                        .UseStartup <Startup>()
                                        .UseUrls("https://localhost:44365"))
            {
                BaseAddress = new Uri("https://localhost:44365")
            };

            _client = server.CreateClient();

            _nonAdminToken = JwtTokenGenerator.Generate(
                "etf-workshop", false, issuer, key);
            _adminToken = JwtTokenGenerator.Generate(
                "etf-workshop", true, issuer, key);
        }
        public IActionResult GenerateToken(string korisnickoIme)
        {
            bool admin    = false;
            var  korisnik = _korisnikServis.DajKorisnikaPoKorisnickomImenu(korisnickoIme).Result;

            if (korisnik == null)
            {
                ModelGreske greska = new ModelGreske
                {
                    PorukaGreske = Greske.AUTENTIKACIJA_POGRESNO_KORISNICKO_IME,
                    StatusKod    = System.Net.HttpStatusCode.BadRequest
                };
                return(BadRequest(greska));
            }

            admin = korisnik.isAdmin;

            var jwt = JwtTokenGenerator
                      .Generate(korisnickoIme, admin, _configuration["Tokens:Issuer"], _configuration["Tokens:Key"]);

            return(Ok(new { token = jwt }));
        }
Esempio n. 15
0
        public UsersApiTests()
        {
            const string issuer = "https://localhost:44349";
            const string key    = "nemosodleecheva_faoeifhaohhhoiehfoaiehfoiefasf";

            var server = new TestServer(new WebHostBuilder()
                                        .UseSetting("Tokens:Issuer", issuer)
                                        .UseSetting("Tokens:Key", key)
                                        .UseSetting("ConnectionStrings:DefaultConnection", "DataSource=:memory:")
                                        .UseStartup <Startup>()
                                        .UseUrls("https://localhost:44349"))
            {
                BaseAddress = new Uri("https://localhost:44349")
            };

            _client = server.CreateClient();

            _nonAdminToken = JwtTokenGenerator.Generate(
                "etf-workshop", false, issuer, key);
            _adminToken = JwtTokenGenerator.Generate(
                "etf-workshop", true, issuer, key);
        }
Esempio n. 16
0
        public UsersApiTests()
        {
            const string issuer = "http://localhost:44397";
            const string key    = "asdfmkafksdlfklnmkkasnkasvndndkndfkanjdfa";

            // kreiranje servera
            var server = new TestServer(new WebHostBuilder()
                                        .UseSetting("Tokens:Issuer", issuer)
                                        .UseSetting("Tokens:Key", key)
                                        .UseSetting("ConnectionStrings:DefaultConnection", "DataSource=:memory:") // sqlite - koristi svoju in memory implementaciju baze
                                        .UseStartup <Startup>()
                                        .UseUrls("https://localhost:44397"))
            {
                BaseAddress = new Uri("https://localhost:44397")
            };

            _client = server.CreateClient();

            _nonAdminToken = JwtTokenGenerator.Generate(
                "etf-workshop", false, issuer, key);
            _adminToken = JwtTokenGenerator.Generate(
                "etf-workshop", true, issuer, key);
        }