async void Initialize() { var keys = new KeyStorage(); var client = new DropNetClient(await keys.Get("dropbox-apikey"), await keys.Get("dropbox-secret")); client.UseSandbox = true; var token = await client.GetRequestToken(); var url = client.BuildAuthorizeUrl(token, "http://localhost"); var regClient = new WebClientImpl(); browser.SetWebViewClient(regClient); browser.LoadUrl(url); await regClient.Callback.Task; await client.GetAccessToken(); browser.Visibility = ViewStates.Gone; var items = new List<Adaptar.Item>(); foreach (var file in (await client.GetMetaData("/")).Contents.Take(10)) { var buffer = await client.GetThumbnail(file); items.Add( new Adaptar.Item { Title = file.Name, Icon = await BitmapFactory.DecodeByteArrayAsync(buffer, 0, buffer.Length), }); } adapter.Update(items); }
public static bool SendMessage(string number, string message) { if (!Enabled()) { return(false); } SmsProvider provider = null; if (ClickatellProvider.Enable()) { provider = ClickatellProvider; } string smsUsa; if (ClickatellUSAProvider.Enable() && !string.IsNullOrEmpty(smsUsa = KeyStorage.Get("clickatellUSA")) && Regex.IsMatch(number, smsUsa)) { provider = ClickatellUSAProvider; } if (provider == null && TwilioProvider.Enable()) { provider = TwilioProvider; } if (SmscProvider.Enable() && (provider == null || SmscProvider.SuitableNumber(number))) { provider = SmscProvider; } if (provider == null) { return(false); } return(provider.SendMessage(number, message)); }
public GoogleOAuth2Authorization(ILogger log) : base(log) { Func <string, string> getConfigVal = value => (ConfigurationManager.AppSettings.Get(value) ?? WebConfigurationManager.AppSettings.Get(value) ?? KeyStorage.Get(value)); try { ClientId = getConfigVal("googleClientId"); ClientSecret = getConfigVal("googleClientSecret"); if (String.IsNullOrEmpty(ClientId)) { throw new ArgumentNullException("ClientId"); } if (String.IsNullOrEmpty(ClientSecret)) { throw new ArgumentNullException("ClientSecret"); } } catch (Exception ex) { log.Error("GoogleOAuth2Authorization() Exception:\r\n{0}\r\n", ex.ToString()); } RedirectUrl = "urn:ietf:wg:oauth:2.0:oob"; ServerDescription = new AuthorizationServerDescription { AuthorizationEndpoint = new Uri("https://accounts.google.com/o/oauth2/auth?access_type=offline"), TokenEndpoint = new Uri("https://www.googleapis.com/oauth2/v3/token"), ProtocolVersion = ProtocolVersion.V20, }; Scope = new List <string> { "https://mail.google.com/" }; }
private String GetFirebaseConfig() { string firebase_projectId = KeyStorage.Get("firebase_projectId"); firebase_projectId = firebase_projectId.Trim(); var script = new StringBuilder(); if (firebase_projectId != String.Empty) { script.AppendLine("{apiKey: '" + KeyStorage.Get("firebase_apiKey").Trim() + "',"); script.AppendLine(" authDomain: '" + firebase_projectId + ".firebaseapp.com',"); script.AppendLine(" databaseURL: 'https://" + firebase_projectId + ".firebaseapp.com',"); script.AppendLine(" projectId: '" + firebase_projectId + "',"); script.AppendLine(" storageBucket: '" + firebase_projectId + ".appspot.com',"); script.AppendLine(" messagingSenderId: '" + KeyStorage.Get("firebase_messagingSenderId").Trim() + "'}"); return(script.ToString()); } else { return(null); } }
protected void Page_Load(object sender, EventArgs e) { try { var scope = KeyStorage.Get("mail.googleScopes"); var token = GoogleLoginProvider.Auth(HttpContext.Current, scope); var email = GetEmail(token.AccessToken); var emailInfo = new EmailAccessInfo { Email = email, RefreshToken = token.RefreshToken }; SubmitEmailInfo(emailInfo); } catch (ThreadAbortException) { } catch (Exception ex) { SubmitError(ex.Message); } }
private static void SetDefaultTokens(FacebookApiInfo apiInfo) { apiInfo.AccessToken = KeyStorage.Get(SocialMediaConstants.ConfigKeyFacebookDefaultAccessToken); }
public static void SendSMS(string number, string message) { if (string.IsNullOrEmpty(number)) { throw new ArgumentNullException("number"); } if (string.IsNullOrEmpty(message)) { throw new ArgumentNullException("message"); } if (!StudioSmsNotificationSettings.IsVisibleSettings || !StudioSmsNotificationSettings.Enable) { throw new MethodAccessException(); } if (StudioSmsNotificationSettings.LeftSms <= 0) { throw new Exception(Resource.SmsNotPaidError); } var count = Convert.ToInt32(PhoneCache.Get(number) ?? 0); if (count >= 5) { throw new Exception(Resource.SmsTooMuchError); } PhoneCache.Insert(number, ++count, DateTime.UtcNow.Add(trustInterval)); if ("log".Equals(ConfigurationManager.AppSettings["core.notify.postman"], StringComparison.InvariantCultureIgnoreCase)) { log.InfoFormat("Tenant {0} send sms to phoneNumber: {1}", TenantProvider.CurrentTenantID, number); log.InfoFormat("Message: {0}", message); return; } var left = StudioSmsNotificationSettings.LeftSms - 1; var leftMessage = string.Format(Resource.SmsAuthenticationMessageLeft, left); message += "\n" + leftMessage; number = new Regex("[^\\d+]").Replace(number, string.Empty); var url = KeyStorage.Get("smsOperatorUrl_clickatel"); var method = "POST"; if (!string.IsNullOrEmpty(KeyStorage.Get("sms.USAregex")) && Regex.IsMatch(number, KeyStorage.Get("sms.USAregex"))) { url = KeyStorage.Get("smsOperatorUrl_clickatelUSA"); } if (!string.IsNullOrEmpty(KeyStorage.Get("sms.CISregex")) && Regex.IsMatch(number, KeyStorage.Get("sms.CISregex"))) { url = KeyStorage.Get("smsOperatorUrl_smsc"); method = "GET"; } try { var request = (HttpWebRequest)WebRequest.Create(url.Replace("{phone}", number).Replace("{text}", HttpUtility.UrlEncode(message))); request.Method = method; request.ContentType = "application/x-www-form-urlencoded"; request.Timeout = 1000; using (var stream = request.GetResponse().GetResponseStream()) using (var reader = new StreamReader(stream)) { var result = reader.ReadToEnd(); StudioSmsNotificationSettings.IncrementSentSms(); log.InfoFormat("SMS was sent to {0}, service returned: {1}", number, result); } } catch (Exception ex) { log.Error("Failed to send sms message", ex); return; } if (left == 0 || left == TenantExtra.GetTenantQuota().ActiveUsers) { StudioNotifyService.Instance.SendToAdminSmsCount(left); } }
public override void HandleMessage(XmppStream stream, Message message, XmppHandlerContext context) { if (!message.HasTo || message.To.IsServer) { context.Sender.SendTo(stream, XmppStanzaError.ToServiceUnavailable(message)); return; } var sessions = context.SessionManager.GetBareJidSessions(message.To); if (0 < sessions.Count) { foreach (var s in sessions) { try { context.Sender.SendTo(s, message); } catch { context.Sender.SendToAndClose(s.Stream, message); } } } else { pushStore = new DbPushStore(); var properties = new Dictionary <string, string>(1); properties.Add("connectionStringName", "default"); pushStore.Configure(properties); if (message.HasTag("active")) { var fromFullName = message.HasAttribute("username") ? message.GetAttribute("username") : message.From.ToString(); var tenantId = -1; var messageToDomain = message.To.ToString().Split(new char[] { '@' })[1]; foreach ( var tenant in CoreContext.TenantManager.GetTenants() ) { if (tenant.TenantDomain == messageToDomain) { tenantId = tenant.TenantId; break; } } var userPushList = new List <UserPushInfo>(); userPushList = pushStore.GetUserEndpoint(message.To.ToString().Split(new char[] { '@' })[0]); var firebaseAuthorization = ""; try { CallContext.SetData(TenantManager.CURRENT_TENANT, new Tenant(tenantId, "")); firebaseAuthorization = KeyStorage.Get("firebase_authorization"); } catch (Exception exp) { log.DebugFormat("firebaseAuthorizationERROR: {0}", exp); } foreach (var user in userPushList) { try { var from = message.From.ToString().Split(new char[] { '@' })[0]; List <string> userId; string photoPath = ""; using (var db = new DbManager("core")) using (var command = db.Connection.CreateCommand()) { var q = new SqlQuery("core_user").Select("id").Where(Exp.Like("username", from)); userId = command.ExecuteList(q, DbRegistry.GetSqlDialect(db.DatabaseId)) .ConvertAll(r => Convert.ToString(r[0])) .ToList(); } if (userId.Count != 0) { var guid = new Guid(userId[0]); photoPath = UserPhotoManager.GetBigPhotoURL(guid); } var tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "post"; tRequest.ContentType = "application/json"; var data = new { to = user.endpoint, data = new { msg = message.Body, fromFullName = fromFullName, photoPath = photoPath } }; var serializer = new JavaScriptSerializer(); var json = serializer.Serialize(data); var byteArray = Encoding.UTF8.GetBytes(json); tRequest.Headers.Add(string.Format("Authorization: key={0}", firebaseAuthorization)); tRequest.ContentLength = byteArray.Length; using (var dataStream = tRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (var tResponse = tRequest.GetResponse()) { using (var dataStreamResponse = tResponse.GetResponseStream()) { using (var tReader = new StreamReader(dataStreamResponse)) { var sResponseFromServer = tReader.ReadToEnd(); var str = sResponseFromServer; } } } } } catch (Exception ex) { var str = ex.Message; log.DebugFormat("PushRequestERROR: {0}", str); } } } StoreOffline(message, context.StorageManager.OfflineStorage); } }
public override void HandleMessage(XmppStream stream, Message message, XmppHandlerContext context) { if (!message.HasTo || message.To.IsServer) { context.Sender.SendTo(stream, XmppStanzaError.ToServiceUnavailable(message)); return; } var sessions = context.SessionManager.GetBareJidSessions(message.To); if (0 < sessions.Count) { foreach (var s in sessions) { try { context.Sender.SendTo(s, message); } catch { context.Sender.SendToAndClose(s.Stream, message); } } } else { pushStore = new DbPushStore(); var properties = new Dictionary <string, string>(1); properties.Add("connectionStringName", "default"); pushStore.Configure(properties); if (message.HasTag("active")) { var fromFullName = message.HasAttribute("username") ? message.GetAttribute("username") : message.From.ToString(); var tenantId = message.HasAttribute("tenantid") ? Convert.ToInt32(message.GetAttribute("tenantid"), 16) : -1; var userPushList = new List <UserPushInfo>(); userPushList = pushStore.GetUserEndpoint(message.To.ToString().Split(new char[] { '@' })[0]); var firebaseAuthorization = ""; try { CallContext.SetData(TenantManager.CURRENT_TENANT, new Tenant(tenantId, "")); firebaseAuthorization = KeyStorage.Get("firebase_authorization"); } catch (Exception exp) { log.DebugFormat("firebaseAuthorizationERROR: {0}", exp); } foreach (var user in userPushList) { try{ var tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "post"; tRequest.ContentType = "application/json"; var data = new { to = user.endpoint, data = new { msg = message.Body, fromFullName = fromFullName } }; var serializer = new JavaScriptSerializer(); var json = serializer.Serialize(data); var byteArray = Encoding.UTF8.GetBytes(json); tRequest.Headers.Add(string.Format("Authorization: key={0}", firebaseAuthorization)); tRequest.ContentLength = byteArray.Length; using (var dataStream = tRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (var tResponse = tRequest.GetResponse()) { using (var dataStreamResponse = tResponse.GetResponseStream()) { using (var tReader = new StreamReader(dataStreamResponse)) { var sResponseFromServer = tReader.ReadToEnd(); var str = sResponseFromServer; } } } } } catch (Exception ex) { var str = ex.Message; log.DebugFormat("PushRequestERROR: {0}", str); } } } StoreOffline(message, context.StorageManager.OfflineStorage); } }
public static TwilioProvider GetVoipProvider() { return(new TwilioProvider(KeyStorage.Get("twilioAccountSid"), KeyStorage.Get("twilioAuthToken"))); }
protected override void BuildRequestString(string message) { RequestedString = String.Format(KeyStorage.Get("smsOperatorMask_clickatel"), KeyStorage.Get("smsOperatorLogin_clickatel"), KeyStorage.Get("smsOperatorPass_clickatel"), KeyStorage.Get("smsOperatorApiid_clickatel"), "+" + PhoneNumber, message); }
static SmsProviderManager() { SmscProvider = new SmscProvider(); ClickatellProvider = new ClickatellProvider(KeyStorage.Get("clickatellapiKey")); ClickatellUSAProvider = new ClickatellProvider(KeyStorage.Get("clickatellUSAapiKey"), KeyStorage.Get("clickatellUSAsender")); TwilioProvider = new TwilioProvider(TwilioLoginProvider.TwilioAccountSid, TwilioLoginProvider.TwilioAuthToken, KeyStorage.Get("twiliosender")); TwilioSaaSProvider = new TwilioProvider(KeyStorage.Get("twilioSaaSAccountSid"), KeyStorage.Get("twilioSaaSAuthToken"), KeyStorage.Get("twilioSaaSsender")); }
public bool SuitableNumber(string number) { var smsCis = KeyStorage.Get("smsccis"); return(!string.IsNullOrEmpty(smsCis) && Regex.IsMatch(number, smsCis)); }
static SmsProviderManager() { SmscProvider = new SmscProvider(); ClickatellProvider = new ClickatellProvider(KeyStorage.Get("clickatellapiKey")); ClickatellUSAProvider = new ClickatellProvider(KeyStorage.Get("clickatellUSAapiKey"), KeyStorage.Get("clickatellUSAsender")); TwilioProvider = new TwilioProvider(); }
static ImportConfiguration() { SupportBoxNetImport = !string.IsNullOrEmpty(KeyStorage.Get("box.net")); SupportGoogleImport = !string.IsNullOrEmpty(KeyStorage.Get("googleConsumerKey")); SupportZohoImport = !string.IsNullOrEmpty(KeyStorage.Get("zoho")); SupportImport = SupportBoxNetImport || SupportGoogleImport || SupportZohoImport; var providers = (WebConfigurationManager.AppSettings["files.thirdparty.enable"] ?? "").Split(new char[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries); SupportBoxNetInclusion = providers.Contains("boxnet"); SupportDropboxInclusion = providers.Contains("dropbox") && !string.IsNullOrEmpty(KeyStorage.Get("dropboxappkey")) && !string.IsNullOrEmpty(KeyStorage.Get("dropboxappsecret")); SupportGoogleInclusion = providers.Contains("google") && SupportGoogleImport; SupportInclusion = SupportBoxNetInclusion || SupportDropboxInclusion || SupportGoogleInclusion; if (SupportBoxNetImport) { BoxNetApiKey = KeyStorage.Get("box.net"); BoxNetIFrameAddress = KeyStorage.Get("box.net.framehandler"); } if (SupportGoogleImport) { GoogleTokenManager = TokenManagerHolder.Get("google", "googleConsumerKey", "googleConsumerSecret"); } if (SupportZohoImport) { ZohoApiKey = KeyStorage.Get("zoho"); } if (SupportDropboxInclusion) { DropboxAppKey = KeyStorage.Get("dropboxappkey"); DropboxAppSecret = KeyStorage.Get("dropboxappsecret"); } }
public LoginProfile ProcessAuthoriztion(HttpContext context, IDictionary<string, string> @params) { var builder = new UriBuilder(context.Request.GetUrlRewriter()) {Query = "p=" + context.Request["p"]}; var oauth = new FacebookOAuthClient { AppId = KeyStorage.Get("facebookAppID"), AppSecret = KeyStorage.Get("facebookAppSecret"), RedirectUri = builder.Uri }; FacebookOAuthResult result; if (FacebookOAuthResult.TryParse(context.Request.GetUrlRewriter(), out result)) { if (result.IsSuccess) { var accessToken = (Facebook.JsonObject)oauth.ExchangeCodeForAccessToken(result.Code); var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString((string)accessToken["access_token"])); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var graph = FacebookGraph.Deserialize(responseStream); var profile = ProfileFromFacebook(graph); return profile; } } } return LoginProfile.FromError(new Exception(result.ErrorReason)); } //Maybe we didn't query var extendedPermissions = new[] { "email", "user_about_me" }; var parameters = new Dictionary<string, object> { { "display", "popup" } }; if (extendedPermissions.Length > 0) { var scope = new StringBuilder(); scope.Append(string.Join(",", extendedPermissions)); parameters["scope"] = scope.ToString(); } var loginUrl = oauth.GetLoginUrl(parameters); context.Response.Redirect(loginUrl.ToString()); return LoginProfile.FromError(new Exception("Failed to login with facebook")); //var client = new FacebookClient // { // ClientIdentifier = KeyStorage.Get("facebookAppID"), // ClientSecret = KeyStorage.Get("facebookAppSecret"), // }; //try //{ // IAuthorizationState authorization = client.ProcessUserAuthorization(new HttpRequestInfo(context.Request)); // if (authorization == null) // { // // Kick off authorization request // var scope = new List<string>() // { // "email,user_about_me", // }; // client.RequestUserAuthorization(scope, null, null); // } // else // { // var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken)); // using (var response = request.GetResponse()) // { // if (response != null) // using (var responseStream = response.GetResponseStream()) // { // var graph = FacebookGraph.Deserialize(responseStream); // var profile = ProfileFromFacebook(graph); // return profile; // } // } // } //} //catch (ProtocolException e) //{ // if (e.InnerException is WebException) // { // //Read stream // var responce = // new StreamReader((e.InnerException as WebException).Response.GetResponseStream()).ReadToEnd(); // } // throw; //} }
private static void SetDefaultTokens(TwitterApiInfo apiInfo) { apiInfo.AccessToken = KeyStorage.Get(SocialMediaConstants.ConfigKeyTwitterDefaultAccessToken); apiInfo.AccessTokenSecret = KeyStorage.Get(SocialMediaConstants.ConfigKeyTwitterDefaultAccessTokenSecret); }
public void Setup() { zoho = new Zoho(KeyStorage.Get("zoho"), "*****@*****.**", "1111"); }
protected override void BuildRequestString(string message) { RequestedString = String.Format(KeyStorage.Get("smsOperatorMask_smsc"), KeyStorage.Get("smsOperatorLogin_smsc"), KeyStorage.Get("smsOperatorPass_smsc"), PhoneNumber, message); }
public void TestBadPassword() { zoho = new Zoho(KeyStorage.Get("zoho"), "*****@*****.**", "2222"); }