void AfterAccessNotification(TokenCacheNotificationArgs args) { if (this.HasStateChanged) { var cacheBits = MachineKey.Protect(this.Serialize(), "ADALTableCache"); Cache = new TokenEntity(userId, cacheBits, DateTime.UtcNow); _repository.InsertOrReplace(Cache); this.HasStateChanged = false; } }
void BeforeAccessNotification(TokenCacheNotificationArgs args) { var latestToken = _repository.GetAllTokensForUser(userId) .OrderByDescending(a => a.LastWrite) .FirstOrDefault(); if (Cache == null || (latestToken != null && Cache.LastWrite < latestToken.LastWrite)) { Cache = latestToken; } this.Deserialize((Cache == null) ? null : MachineKey.Unprotect(Cache.CacheBits, "ADALTableCache")); }
public void InsertOrReplace(TokenEntity tokenEntity) { var tableOp = TableOperation.InsertOrReplace(tokenEntity); _cloudTable.Execute(tableOp); }
public void Delete(TokenEntity tokenEntity) { var tableOp = TableOperation.Delete(tokenEntity); _cloudTable.Execute(tableOp); }