コード例 #1
0
ファイル: AuthController.cs プロジェクト: FortEXE/TUBES-WS
        public IActionResult Token()
        {
            var headers = Request.Headers["Authorization"];

            if (headers.ToString().StartsWith("Basic"))
            {
                var credValue          = headers.ToString().Substring("Basic".Length).Trim();
                var usernameAndPassEnc = Encoding.UTF8.GetString(Convert.FromBase64String(credValue));
                var usernameAndPass    = usernameAndPassEnc.Split(":");

                //Check in DB if username and Password exist
                RepositoryPengguna RP   = new RepositoryPengguna();
                Pengguna           user = RP.getByUserName(usernameAndPass[0]);
                MD5 md5hash             = MD5.Create();

                if (user != null && user.GetMd5Hash(md5hash, usernameAndPass[1]) == user.Password)
                {
                    var key        = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("SecretKey!@#12364488993_====++++"));
                    var signInCred = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);
                    var ClaimsData = new[] { new Claim(ClaimTypes.Name, user.Username) };
                    var token      = new JwtSecurityToken(
                        issuer: "computercorner.com",
                        audience: "computercorner.com",
                        expires: DateTime.Now.AddMinutes(60),
                        claims: ClaimsData,
                        signingCredentials: signInCred
                        );

                    var tokenString = new JwtSecurityTokenHandler().WriteToken(token);
                    return(Ok(tokenString));
                }
            }
            return(BadRequest("Oops"));
        }
コード例 #2
0
        public IActionResult Get(String id)
        {
            RepositoryPengguna RP = new RepositoryPengguna();

            try
            {
                var hasil = RP.getByID(id);
                return(Ok(hasil));
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }