public BooleanResult AuthorizeUser(SessionProperties properties) { UserInformation userInfo = properties.GetTrackedSingle <UserInformation>(); if (!ReferenceEquals(null, Settings.ApplicationID) && !ReferenceEquals(null, Settings.Secret)) { string applicationID = Util.GetSettingsString((string)Settings.ApplicationID); string secret = Util.GetSettingsString((string)Settings.Secret); string accountID = Util.GetSettingsString((string)Settings.AccountID); //m_logger.InfoFormat("ApplicationID: {0}", applicationID); //m_logger.InfoFormat("Secret: {0}", secret); //m_logger.InfoFormat("AccountID: {0}", accountID); Latch latch = new Latch(applicationID, secret); LatchResponse response = latch.Status(accountID); // One of the ugliest lines of codes I ever wrote, but quickest way to access the object without using json serialization try { Dictionary <string, object> operations = ((Dictionary <string, object>)response.Data["operations"]); Dictionary <string, object> appSettings = ((Dictionary <string, object>)operations[(applicationID)]); string status = ((string)appSettings["status"]); m_logger.InfoFormat("Latch status is {0}", status); if (status == "on") { return new BooleanResult() { Success = true, Message = "Ready to go!" } } ; else { return new BooleanResult() { Success = false, Message = "Latch is protecting this account!" } }; } catch (Exception) { return(new BooleanResult() { Success = true, Message = "Something went wrong, letting you in because I don't want to lock you out!" }); } } else { return(new BooleanResult() { Success = false, Message = "Latch is not correctly configured." }); } }
public Configuration() { InitializeComponent(); if (!ReferenceEquals(null, Main.Settings.ApplicationID) && !ReferenceEquals(null, Main.Settings.Secret)) { tbApplicationID.Text = Util.GetSettingsString((string)Main.Settings.ApplicationID); tbSecret.Text = Util.GetSettingsString((string)Main.Settings.Secret); } if (!ReferenceEquals(null, Main.Settings.AccountID)) { tbAccountID.Text = Util.GetSettingsString((string)Main.Settings.AccountID); } }