public ActionResult Signout() { String userId = Session["userId"] as String; if (!String.IsNullOrEmpty(userId)) { StoredCredentialsDBContext db = new StoredCredentialsDBContext(); StoredCredentials sc = db.StoredCredentialSet.FirstOrDefault(x => x.UserId == userId); if (sc != null) { // Revoke the token. UriBuilder builder = new UriBuilder(OAUTH2_REVOKE_ENDPOINT); builder.Query = "token=" + sc.RefreshToken; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(builder.Uri); request.GetResponse(); db.StoredCredentialSet.Remove(sc); } Session.Remove("userId"); } return(Redirect(Url.Action("Index", "Main"))); }
/// <summary> /// Retrieved stored credentials for the provided user ID. /// </summary> /// <param name="userId">User's ID.</param> /// <returns>Stored GoogleAccessProtectedResource if found, null otherwise.</returns> public static IAuthorizationState GetStoredCredentials(String userId) { StoredCredentialsDBContext db = new StoredCredentialsDBContext(); StoredCredentials sc = db.StoredCredentialSet.FirstOrDefault(x => x.UserId == userId); if (sc != null) { return new AuthorizationState() { AccessToken = sc.AccessToken, RefreshToken = sc.RefreshToken }; } return null; }
/// <summary> /// Retrieved stored credentials for the provided user ID. /// </summary> /// <param name="userId">User's ID.</param> /// <returns>Stored GoogleAccessProtectedResource if found, null otherwise.</returns> static IAuthorizationState GetStoredCredentials(String userId) { StoredCredentialsDBContext db = new StoredCredentialsDBContext(); StoredCredentials sc = db.StoredCredentialSet.FirstOrDefault(x => x.UserId == userId); if (sc != null) { return(new AuthorizationState() { AccessToken = sc.AccessToken, RefreshToken = sc.RefreshToken }); } return(null); }
public void Can_Get_Credentials() { using (var context = new StoredCredentialsDBContext()) { context.Database.Connection.Open(); var credentials = context.StoredCredentialSet.ToList(); foreach (var storedCredential in credentials) { Console.WriteLine(storedCredential.UserId); } Assert.IsNotNull(context.StoredCredentialSet.ToList()); } }
/// <summary> /// Store OAuth 2.0 credentials in the application's database. /// </summary> /// <param name="userId">User's ID.</param> /// <param name="credentials">The OAuth 2.0 credentials to store.</param> static void StoreCredentials(String userId, IAuthorizationState credentials) { StoredCredentialsDBContext db = new StoredCredentialsDBContext(); StoredCredentials sc = db.StoredCredentialSet.FirstOrDefault(x => x.UserId == userId); if (sc != null) { sc.AccessToken = credentials.AccessToken; sc.RefreshToken = credentials.RefreshToken; } else { db.StoredCredentialSet.Add(new StoredCredentials { UserId = userId, AccessToken = credentials.AccessToken, RefreshToken = credentials.RefreshToken }); } db.SaveChanges(); }
/// <summary> /// Store OAuth 2.0 credentials in the application's database. /// </summary> /// <param name="userId">User's ID.</param> /// <param name="credentials">The OAuth 2.0 credentials to store.</param> public static void StoreCredentials(String userId, IAuthorizationState credentials) { StoredCredentialsDBContext db = new StoredCredentialsDBContext(); StoredCredentials sc = db.StoredCredentialSet.FirstOrDefault(x => x.UserId == userId); if (sc != null) { sc.AccessToken = credentials.AccessToken; sc.RefreshToken = credentials.RefreshToken; } else { db.StoredCredentialSet.Add(new StoredCredentials { UserId = userId, AccessToken = credentials.AccessToken, RefreshToken = credentials.RefreshToken }); } db.SaveChanges(); }
/// <summary> /// Inserts a timeline item to all users (up to 10). /// </summary> /// <param name="controller">Controller calling this method.</param> /// <returns>Status message.</returns> private static String InsertItemAllUsers(MainController controller) { StoredCredentialsDBContext db = new StoredCredentialsDBContext(); int userCount = db.StoredCredentialSet.Count(); if (userCount > 10) { return("Total user count is " + userCount + ". Aborting broadcast to save your quota"); } else { TimelineItem item = new TimelineItem() { Text = "Hello Everyone!", Notification = new NotificationConfig() { Level = "DEFAULT" } }; foreach (StoredCredentials creds in db.StoredCredentialSet) { AuthorizationState state = new AuthorizationState() { AccessToken = creds.AccessToken, RefreshToken = creds.RefreshToken }; MirrorService service = new MirrorService(new BaseClientService.Initializer() { Authenticator = Utils.GetAuthenticatorFromState(state) }); service.Timeline.Insert(item).Fetch(); } return("Successfully sent cards to " + userCount + " users."); } }
public ActionResult Signout() { String userId = Session["userId"] as String; if (!String.IsNullOrEmpty(userId)) { StoredCredentialsDBContext db = new StoredCredentialsDBContext(); StoredCredentials sc = db.StoredCredentialSet.FirstOrDefault(x => x.UserId == userId); if (sc != null) { // Revoke the token. UriBuilder builder = new UriBuilder(OAUTH2_REVOKE_ENDPOINT); builder.Query = "token=" + sc.RefreshToken; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(builder.Uri); request.GetResponse(); db.StoredCredentialSet.Remove(sc); } Session.Remove("userId"); } return Redirect(Url.Action("Index", "Main")); }
/// <summary> /// Inserts a timeline item to all users (up to 10). /// </summary> /// <param name="controller">Controller calling this method.</param> /// <returns>Status message.</returns> private static String InsertItemAllUsers(MainController controller) { StoredCredentialsDBContext db = new StoredCredentialsDBContext(); int userCount = db.StoredCredentialSet.Count(); if (userCount > 10) { return "Total user count is " + userCount + ". Aborting broadcast to save your quota"; } else { TimelineItem item = new TimelineItem() { Text = "Hello Everyone!", Notification = new NotificationConfig() { Level = "DEFAULT" } }; foreach (StoredCredentials creds in db.StoredCredentialSet) { AuthorizationState state = new AuthorizationState() { AccessToken = creds.AccessToken, RefreshToken = creds.RefreshToken }; MirrorService service = new MirrorService(new BaseClientService.Initializer() { Authenticator = Utils.GetAuthenticatorFromState(state) }); service.Timeline.Insert(item).Fetch(); } return "Successfully sent cards to " + userCount + " users."; } }