Пример #1
0
 /// <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();
 }
Пример #2
0
        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;
        }