/// <summary> /// Save a new granted access /// </summary> /// <param name="usrApps">data of the new access</param> public void AddUserAppsAccessGranted(UsersAppsAccessGranted usrApps) { _db.UsersAppsAccessGranted.Add(usrApps); _db.SaveChanges(); }
public static string AllowAccess(string id) { string json = String.Empty; if (!string.IsNullOrEmpty(id)) { var page = new authenticate(); var userid = page.User.Identity.GetUserId(); //Decrypt values var _id = StringCipher.Decrypt(id.ToString(), keyEncryptQueryString); var arrValues = page.DecryptValues(_id); string clientid = arrValues[0]; string redirectUri = arrValues[1]; string state = arrValues[2]; var time = DateTime.UtcNow; byte[] timeByteArray = BitConverter.GetBytes(time.ToBinary()); var key = Guid.NewGuid(); byte[] keyByteArray = key.ToByteArray(); string token = Convert.ToBase64String(timeByteArray.Concat(keyByteArray).ToArray()); token = token.Replace("+", "").Replace("/", ""); var usersAppsAccessGranted = new UsersAppsAccessGranted { Userid = userid, ExternalAuthClientsID = clientid, AccessGranted = true, Key = key.ToString(), Token = token, CreatedOn = time }; var dbAction = new DbActions(); dbAction.AddUserAppsAccessGranted(usersAppsAccessGranted); var returnData = new { Token = token, RedirectUri = redirectUri, State = state }; json = JsonConvert.SerializeObject(returnData); } return json; }