Beta 1.0.0.2
Add
1. UserController - > CreateUser
-> AlterUser
2. JWTAuthContoller - > Login
-> RefreshToken
This commit is contained in:
@@ -20,6 +20,88 @@ namespace APISocietyToolBox.Controllers
|
||||
_Context = context;
|
||||
}
|
||||
|
||||
[HttpPost("CreateUser")]
|
||||
public async Task<ActionResult<string>> CreateUser(UserRequestModel UserRequest)
|
||||
{
|
||||
CreatePasswordHash(UserRequest.LoginPassword, out byte[] passwordHash, out byte[] passwordSalt);
|
||||
UserModel User = new UserModel();
|
||||
User.UserID = UserRequest.UserID;
|
||||
User.UserName = UserRequest.UserName;
|
||||
User.UserRole = UserRequest.UserRole;
|
||||
User.UserRoleID = UserRequest.UserRoleID;
|
||||
User.LoginName = UserRequest.LoginName;
|
||||
User.LoginPassword = BitConverter.ToString(passwordHash).Replace("-", "");
|
||||
User.PasswordSalt = BitConverter.ToString(passwordSalt).Replace("-", "");// System.Text.Encoding.UTF8.GetString(passwordSalt);
|
||||
User.MemberID = UserRequest.MemberID;
|
||||
User.PropertyID = UserRequest.PropertyID;
|
||||
string pStrJSONUser = JsonConvert.SerializeObject(User);
|
||||
//pStrJSONUser = Regex.Replace(pStrJSONUser, @"[^\x20-\x7E]", "");
|
||||
string pStrUserXML = ConvertFunctions.ConvertJsonToXmlR2(pStrJSONUser, "USER", "USERDETAILS");
|
||||
//UserResponseModel UserResponse = new UserResponseModel();
|
||||
var pQueryResponse = await _Context.UserCRUD.FromSqlRaw("EXEC sp_CreateUser @XMLUserData",
|
||||
new SqlParameter("@XMLUserData", System.Data.SqlDbType.Xml) { Value = pStrUserXML })
|
||||
.ToListAsync();
|
||||
//var oUserResponse = JsonConvert.DeserializeObject<UserResponseModel>(pQueryResponse?.ToString());
|
||||
|
||||
|
||||
|
||||
if (pQueryResponse[0].Status == 200)
|
||||
{
|
||||
return Ok(pQueryResponse);
|
||||
}
|
||||
else
|
||||
{
|
||||
return BadRequest(pQueryResponse);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[HttpPost("AlterUser")]
|
||||
public async Task<ActionResult<string>> AlterUser(UserRequestModel UserRequest)
|
||||
{
|
||||
CreatePasswordHash(UserRequest.LoginPassword, out byte[] passwordHash, out byte[] passwordSalt);
|
||||
UserModel User = new UserModel();
|
||||
User.UserID = UserRequest.UserID;
|
||||
User.UserName = UserRequest.UserName;
|
||||
User.UserRole = UserRequest.UserRole;
|
||||
User.UserRoleID = UserRequest.UserRoleID;
|
||||
User.LoginName = UserRequest.LoginName;
|
||||
User.LoginPassword = BitConverter.ToString(passwordHash).Replace("-", "");
|
||||
User.PasswordSalt = BitConverter.ToString(passwordSalt).Replace("-", "");// System.Text.Encoding.UTF8.GetString(passwordSalt);
|
||||
|
||||
User.PropertyID = UserRequest.PropertyID;
|
||||
string pStrJSONUser = JsonConvert.SerializeObject(User);
|
||||
//pStrJSONUser = Regex.Replace(pStrJSONUser, @"[^\x20-\x7E]", "");
|
||||
string pStrUserXML = ConvertFunctions.ConvertJsonToXmlR2(pStrJSONUser, "USER", "USERDETAILS");
|
||||
//UserResponseModel UserResponse = new UserResponseModel();
|
||||
var pQueryResponse = await _Context.UserCRUD.FromSqlRaw("EXEC sp_AlterUser @XMLUserData",
|
||||
new SqlParameter("@XMLUserData", System.Data.SqlDbType.Xml) { Value = pStrUserXML })
|
||||
.ToListAsync();
|
||||
//var oUserResponse = JsonConvert.DeserializeObject<UserResponseModel>(pQueryResponse?.ToString());
|
||||
|
||||
|
||||
|
||||
if (pQueryResponse[0].Status == 200)
|
||||
{
|
||||
return Ok(pQueryResponse);
|
||||
}
|
||||
else
|
||||
{
|
||||
return BadRequest(pQueryResponse);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void CreatePasswordHash(string password, out byte[] passwordHash, out byte[] passwordSalt)
|
||||
{
|
||||
using (var hmac = new HMACSHA512())
|
||||
{
|
||||
passwordSalt = hmac.Key;
|
||||
passwordHash = hmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(password));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user