public bool FollowUser(string userId, AccessDetails Token) { try { var request = new RestRequest("v1/me/following/users/", Method.POST); request.AddParameter("access_token", Token.AccessToken); request.AddParameter("user", userId); var response = WebServiceHelper.WebRequest(request, ApiURL); if (response.StatusCode.ToString() == "OK") { return(true); } else { return(false); } } catch (Exception) { return(false); } }
private static Result Shutdown(AccessDetails details, string content, NameValueCollection queryString) { if (details != null) { if (!ValidAccessDetails(details)) { return(new Result() { Authenticated = false }); } } LogWriter.LogMessage("Received request - Shutdown"); _serviceToRun.StopService(); Environment.Exit(0); return(new Result() { Success = true }); }
/// <summary> /// Get current user's followers list & count /// </summary> /// <param name="token"></param> /// <returns></returns> public DeezerUserFollower GetCurrentUserFollower(AccessDetails token) { try { var request = new RestRequest("/user/me/followers", Method.GET); request.AddParameter("access_token", token.AccessToken); request.AddParameter("limit", "100"); var response = WebServiceHelper.WebRequest(request, ApiURL); JsonDeserializer deserial = new JsonDeserializer(); var result = deserial.Deserialize <DeezerUserFollower>(response); if (result.data.Count < result.total) { response = WebServiceHelper.WebRequest(request, ApiURL); request.AddParameter("limit", result.total); result = deserial.Deserialize <DeezerUserFollower>(response); } return(result); } catch (Exception) { throw; } }
public AccessDetails RefreshAccessToken(string refreshToken) { using (var client = new HttpClient()) { //string redirectUri = System.Configuration.ConfigurationManager.AppSettings["RedirectUri"]; //string cientSecret = System.Configuration.ConfigurationManager.AppSettings["ClientSecret"]; //string baseAddress = System.Configuration.ConfigurationManager.AppSettings["BaseAddress"]; var request = new HttpRequestMessage(HttpMethod.Post, credintials.BaseAddress + "/oauth2/token"); var requestContent = string.Format( "client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={0}&grant_type=refresh_token&assertion={1}&redirect_uri={2}", HttpUtility.UrlEncode(credintials.clientSecret), HttpUtility.UrlEncode(refreshToken), credintials.redirectUrl ); request.Content = new StringContent(requestContent, Encoding.UTF8, "application/x-www-form-urlencoded"); try { var response = client.SendAsync(request).Result; if (response.IsSuccessStatusCode) { string result = response.Content.ReadAsStringAsync().Result; AccessDetails accesDetails = JsonConvert.DeserializeObject <AccessDetails>(result); return(accesDetails); } else { return(new AccessDetails()); } } catch (Exception ex) { //ProjectService.logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n"); return(new AccessDetails()); } } }
/// <summary> /// Get Account associalted with the logged in user /// </summary> /// <param name="MemberID"></param> /// <param name="Details"></param> /// <returns></returns> public Accounts.AccountList GetAccounts(string MemberID, AccessDetails Details) { if (Session["PAT"] != null) { Details.access_token = Session["PAT"].ToString(); } Accounts.AccountList Accounts = new Accounts.AccountList(); var client = new HttpClient(); string requestContent = "https://app.vssps.visualstudio.com/_apis/Accounts?memberId=" + MemberID + "&api-version=3.2-preview"; var request = new HttpRequestMessage(HttpMethod.Get, requestContent); request.Headers.Add("Authorization", "Bearer " + Details.access_token); try { var response = client.SendAsync(request).Result; if (response.StatusCode == HttpStatusCode.NonAuthoritativeInformation) { Details = Refresh_AccessToken(Details.refresh_token); return(GetAccounts(MemberID, Details)); } else if (response.IsSuccessStatusCode) { string result = response.Content.ReadAsStringAsync().Result; Accounts = JsonConvert.DeserializeObject <Accounts.AccountList>(result); } else { var errorMessage = response.Content.ReadAsStringAsync(); Accounts = null; } } catch (Exception ex) { return(Accounts); } return(Accounts); }
public bool SaveAccountDeatils(OAuthAccessToken tokens, string userId, string Email) { try { AccessDetails accessTokens = new AccessDetails() { AccessToken = tokens.Token, AccessTokenSecret = tokens.TokenSecret }; TwitterUser profile = GetUserprofile(accessTokens); SocialMedia socialDetails = new SocialMedia() { UserId = userId, Provider = SocialMediaProviders.Twitter.ToString(), AccessDetails = new AccessDetails { AccessToken = tokens.Token, AccessTokenSecret = tokens.TokenSecret }, ProfilepicUrl = profile.ProfileImageUrlHttps, Followers = profile.FollowersCount, SMId = profile.Id.ToString(), Status = true, UserName = profile.ScreenName, AccSettings = new AccSettings() }; socialDetails.AccSettings.UserManagement.Add(new UserManagement { Email = Email, userId = userId, Role = "Owner" }); _socialMediaRepo.Add(socialDetails); _unitOfWork.Commit(); return(true); } catch (Exception) { return(false); } }
// VIEWS public ActionResult Callback() { // Here we get the Code in the Query String, using that we can get access token var request = Request; string code = Request.QueryString["code"]; if (!string.IsNullOrEmpty(code)) { string reqUrl = FormatRequestUrl(code); // Getting access token, if access token is null, will return to Index page [relogin takes place] AccessDetails _accessDetails = GetAccessToken(reqUrl); if (_accessDetails.access_token != null) { Session["Token"] = _accessDetails.access_token; ViewBag.Response = _accessDetails.access_token; return(RedirectToAction("process")); } else { return(RedirectToAction("index", "home")); } } return(RedirectToAction("index", "home")); }
public bool SaveAccountDeatils(OAuthTokens tokens, string userId,string Email) { try { AccessDetails accessToken = new AccessDetails() { AccessToken = tokens.access_token }; InstaUser profile = GetUserprofile(accessToken); SocialMedia socialDetails = new SocialMedia() { UserId = userId, Provider = SocialMediaProviders.Instagram.ToString(), AccessDetails = new AccessDetails { AccessToken = tokens.access_token }, ProfilepicUrl = profile.data.profile_picture, SMId = profile.data.id.ToString(), Status = true, UserName = profile.data.username, <<<<<<< .mine Followers = profile.data.counts.follows }; ======= Followers = profile.data.Followers, AccSettings = new AccSettings() }; socialDetails.AccSettings.UserManagement.Add(new UserManagement { Email = Email, userId = userId, Role = "Owner" });
public bool SaveAccountDeatils(OAuthTokens tokens, string userId, string Email) { try { AccessDetails accessToken = new AccessDetails() { AccessToken = tokens.access_token }; //InstaUser profile = GetUserprofile(accessToken); InstaUserList profile = GetUserprofile(accessToken); SocialMedia socialDetails = new SocialMedia() { UserId = userId, Provider = SocialMediaProviders.Instagram.ToString(), AccessDetails = new AccessDetails { AccessToken = tokens.access_token }, ProfilepicUrl = profile.profile_picture, SMId = profile.id.ToString(), Status = true, UserName = profile.username, Followers = profile.counts.followed_by, AccSettings = new AccSettings() }; socialDetails.AccSettings.UserManagement.Add(new UserManagement { Email = Email, userId = userId, Role = "Owner" }); _socialMedia.Add(socialDetails); _unitOfWork.Commit(); return(true); } catch (Exception) { return(false); } }
public string CreatePlaylist(int socialId, string userId, string playlistName, AccessDetails token) { try { var jsonData = new { name = playlistName }; var Token = TokenValidate(socialId, token); var request = new RestRequest("v1/users/" + userId + "/playlists", Method.POST); request.AddHeader("Authorization", "Bearer " + Token.AccessToken); request.AddHeader("Content-Type", "application/json"); //request.AddBody("data", jsonData); request.AddJsonBody(jsonData); var response = WebServiceHelper.WebRequest(request, ApiURL); if (response.StatusCode.ToString() == "Created") { var temp = (JObject)JsonConvert.DeserializeObject(response.Content); var playlistId = temp["id"].Value <string>(); return(playlistId); } else { return("false"); } } catch (Exception) { return("false"); } }
public TwitterCursorList <TwitterUser> ListFollowerOfTargetUser(long targetId, AccessDetails _accessToken) { try { TwitterService service = new TwitterService(consumerKey, consumerSecret); service.AuthenticateWith(_accessToken.AccessToken, _accessToken.AccessTokenSecret); var followers = service.ListFollowers(new ListFollowersOptions { UserId = targetId }); return(followers); } catch (Exception) { throw; } }
public async Task <TwitterAsyncResult <IEnumerable <TwitterStatus> > > ListPostOnUserTimeline(long userId, AccessDetails _accessToken) { try { TwitterService service = new TwitterService(consumerKey, consumerSecret); service.AuthenticateWith(_accessToken.AccessToken, _accessToken.AccessTokenSecret); var posts = await service.ListTweetsOnUserTimelineAsync(new ListTweetsOnUserTimelineOptions { UserId = userId, Count = 2 }); return(posts); } catch (Exception) { throw; } }
public async Task <TwitterAsyncResult <TwitterCursorList <TwitterUser> > > GetFollowersList(long SMId, AccessDetails _accessToken) { try { TwitterService service = new TwitterService(consumerKey, consumerSecret); service.AuthenticateWith(_accessToken.AccessToken, _accessToken.AccessTokenSecret); var followers = await service.ListFollowersAsync(new ListFollowersOptions { UserId = SMId, Count = 200 }); while (followers.Value.NextCursor != 0) { var next = service.ListFollowers(new ListFollowersOptions { UserId = SMId, Count = 200, Cursor = followers.Value.NextCursor }); foreach (var follower in next) { followers.Value.Add(follower); } followers.Value.NextCursor = next.NextCursor; } return(followers); } catch (Exception) { throw; } }
public async Task <TwitterAsyncResult <TwitterSearchResult> > SearchTweet(string query, string lang, string geoLocation, AccessDetails _accessToken) { try { int count = Int16.Parse(ConfigurationSettings.AppSettings["twitterPostSearchCountPerTag"].ToString()); TwitterService service = new TwitterService(consumerKey, consumerSecret); service.AuthenticateWith(_accessToken.AccessToken, _accessToken.AccessTokenSecret); TwitterAsyncResult <TwitterSearchResult> posts; if (geoLocation != null) { var coordinates = _userService.AddressToCoordinates(geoLocation); posts = await service.SearchAsync(new SearchOptions { Q = query, Count = count, Lang = lang, Resulttype = TwitterSearchResultType.Recent, Geocode = new TwitterGeoLocationSearch { Coordinates = new TwitterGeoLocation.GeoCoordinates { Latitude = coordinates.latitude, Longitude = coordinates.longitude }, Radius = 500, UnitOfMeasurement = TweetSharp.TwitterGeoLocationSearch.RadiusType.Km } }); } else { posts = await service.SearchAsync(new SearchOptions { Q = query, Count = count, Lang = lang, Resulttype = TwitterSearchResultType.Recent }); } return(posts); } catch (Exception) { throw; } }
private static bool ValidAccessDetails(AccessDetails details) { return(details.Password == "123" && details.Username == "test"); }
public TelephonyProfile CreateProfile(ILmsLicense lmsCompany, ILtiParam param, string profileName, IAdobeConnectProxy acProxy) { if (lmsCompany == null) { throw new ArgumentNullException(nameof(lmsCompany)); } if (param == null) { throw new ArgumentNullException(nameof(param)); } if (string.IsNullOrWhiteSpace(profileName)) { throw new ArgumentException("Non-empty value expected", nameof(profileName)); } if (acProxy == null) { throw new ArgumentNullException(nameof(acProxy)); } try { var profiles = acProxy.TelephonyProviderList(null); var meetingOne = profiles.Values.FirstOrDefault(x => x.ClassName == ClassName); string providerId = meetingOne.ProviderId; if (meetingOne.ProviderStatus != "enabled") { throw new InvalidOperationException("MeetingOne provider is not enabled"); } var access = new AccessDetails { UserName = lmsCompany.GetSetting <string>(LmsLicenseSettingNames.Telephony.MeetingOne.UserName), SecretHashKey = lmsCompany.GetSetting <string>(LmsLicenseSettingNames.Telephony.MeetingOne.SecretHashKey), OwningAccountNumber = lmsCompany.GetSetting <string>(LmsLicenseSettingNames.Telephony.MeetingOne.OwningAccountNumber), }; var room = new RoomDto { Host = new Host { Email = param.lis_person_contact_email_primary, FirstName = param.PersonNameGiven, LastName = param.PersonNameFamily, MailingAddress = param.lis_person_contact_email_primary, }, RoomSettings = new RoomSettings { DialoutEnabled = true, AllowDomesticDialouts = true, AllowInternationalDialouts = true, }, }; // TODO: DI RoomDto result = null; try { var client = new MeetingOneClient(_baseAddress, _logger); result = client.CreateRoom(access, room); } catch (Exception ex) { _logger.Error("MeetingOneClient.CreateRoomAsync failed.", ex); return(null); } var acProfile = new TelephonyProfileUpdateItem { ProfileName = profileName, // ProfileStatus = "enabled", ProviderId = providerId, ProviderFields = new MeetingOneProviderFields { ConferenceId = result.Number, HostPin = result.HostPIN, }, }; TelephonyProfileInfoResult createdProfile = acProxy.TelephonyProfileUpdate(acProfile, false); return(createdProfile.TelephonyProfile); } catch (Exception ex) { _logger.Error($"CreateProfileAsync error. CompanyLicenseId: {lmsCompany.Id}.", ex); throw; } }
public List <SpotifyArtist> GetArtistRelatedArtist(int socialId, string spotifyArtistId, AccessDetails token) { try { var Token = TokenValidate(socialId, token); var request = new RestRequest("v1/artists/" + spotifyArtistId + "/related-artists", Method.GET); request.AddHeader("Authorization", "Bearer " + Token.AccessToken); var response = WebServiceHelper.WebRequest(request, ApiURL); JsonDeserializer deserial = new JsonDeserializer(); var result = deserial.Deserialize <SpotifyRelatedArtist>(response); return(result.artists); } catch (Exception) { throw; } }
public PlaylistTrackResponse GetPlaylistTracks(string playlistId, string ownerId, int socialId, AccessDetails token, int count) { try { var Token = TokenValidate(socialId, token); var request = new RestRequest("v1/users/" + ownerId + "/playlists/" + playlistId + "/tracks", Method.GET); request.AddHeader("Authorization", "Bearer " + Token.AccessToken); request.AddParameter("offset", count * 5); request.AddParameter("limit", "5"); var response = WebServiceHelper.WebRequest(request, ApiURL); JsonDeserializer deserial = new JsonDeserializer(); var result = deserial.Deserialize <PlaylistTrackResponse>(response); return(result); } catch (Exception) { throw; } }
public ActionResult Index(ProjectList.ProjectDetails model) { try { AccessDetails accessDetails = new AccessDetails(); string pat = ""; string email = ""; if (Session["PAT"] != null) { pat = Session["PAT"].ToString(); } if (Session["Email"] != null) { email = Session["PAT"].ToString(); } if (Session["EnableExtractor"] == null || Session["EnableExtractor"].ToString().ToLower() == "false") { return(RedirectToAction("NotFound")); } if (string.IsNullOrEmpty(pat)) { return(Redirect("../Account/Verify")); } else { accessDetails.access_token = pat; ProfileDetails profile = accountService.GetProfile(accessDetails); if (profile == null) { ViewBag.ErrorMessage = "Could not fetch your profile details, please try to login again"; return(View(model)); } if (profile.displayName != null && profile.emailAddress != null) { Session["User"] = profile.displayName; Session["Email"] = profile.emailAddress.ToLower(); } AccountsResponse.AccountList accountList = accountService.GetAccounts(profile.id, accessDetails); model.accessToken = accessDetails.access_token; model.accountsForDropdown = new List <string>(); if (accountList.count > 0) { foreach (var account in accountList.value) { model.accountsForDropdown.Add(account.accountName); } model.accountsForDropdown.Sort(); } else { model.accountsForDropdown.Add("Select Organization"); ViewBag.AccDDError = "Could not load your organizations. Please change the directory in profile page of Azure DevOps Organization and try again."; } return(View(model)); } } catch (Exception ex) { ExtractorService.logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + ex.Message + "\n" + ex.StackTrace + "\n"); } return(View(model)); }
public ActionResult ExternalLoginConfirmation(RegisterExternalLoginModel model, string returnUrl) { string provider = null; string providerUserId = null; if (User.Identity.IsAuthenticated || !OAuthWebSecurity.TryDeserializeProviderUserId(model.ExternalLoginData, out provider, out providerUserId)) { return(this.RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { UserProfile userProfile = this.userManager.GetUserProfileFromProvider(provider, providerUserId); if (userProfile == null) { ClientUserData clientUserData = (ClientUserData)TempData["ClientUserData"]; Random random = new Random(); int userId = random.Next(int.MaxValue); userProfile = new UserProfile { RowKey = userId.ToString(), UserName = string.IsNullOrEmpty(clientUserData.UserName) ? clientUserData.Emails.Account : clientUserData.UserName, AccountEmail = clientUserData.Emails.Account, FirstName = model.FirstName, LastName = model.LastName, City = model.City, Country = model.Country, State = model.State, PreferredEmail = model.PreferredEmail, Gender = clientUserData.Gender, Link = Convert.ToString(clientUserData.Link), IsSuperAdmin = false, TimeZone = model.TimeZone, CreatedTime = DateTime.Now.ToUniversalTime().ToString(), Address1 = model.Address1, Address2 = model.Address2, Phone = model.Phone, PhoneCountryCode = model.PhoneCountryCode, ZipCode = model.ZipCode }; var regions = this.regionSource.GetAvailableRegions(); List <AccessDetails> defaultAccess = new List <AccessDetails>(); foreach (var region in regions) { var accessDetail = new AccessDetails { AccessLevel = AccessLevels.PortalUser, Authority = (Authorities)Convert.ToInt32(region.RegionInformation.Id) }; defaultAccess.Add(accessDetail); } this.userManager.SaveUserDetails( new UserDetails { UserInfo = userProfile, AccessInfo = defaultAccess, }); this.RegisterAuditor.TransactionId = this.RegisterLogger.TransactionId; this.RegisterAuditor.Audit(AuditId.RegisterUser, AuditStatus.Success, default(int), userProfile.UserName + " Registered Successfully"); this.RegisterLogger.Log(TraceEventType.Information, LoggingMessageId.PortalUserRegistration, userProfile.UserName + " registered to the portal"); OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, model.UserName); OAuthWebSecurity.Login(provider, providerUserId, createPersistentCookie: false); this.RegisterLogger.Log(TraceEventType.Information, LoggingMessageId.PortalUserLoggedIn, userProfile.UserName + " has logged in to the portal"); // By Default IsSuperAdmin is false this.CreateAuthenticationTicket(model.UserName, clientUserData.AccessToken, DateTime.Now, false, false); return(this.RedirectToLocal(returnUrl)); } else { ModelState.AddModelError("UserName", "User already exists. Please enter a different user name."); } } ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(provider).DisplayName; ViewBag.ReturnUrl = returnUrl; ViewBag.Country = new SelectList(Utility.GetCounties()); ViewBag.TimeZone = new SelectList(Utility.GetTimeZones()); ViewBag.PhoneCountryCode = new SelectList(Utility.GetCountryPhoneCodes()); return(this.View("Register", model)); }
public ActionResult CreateProject() { try { AccessDetails _accessDetails = new AccessDetails(); //AccessDetails _accessDetails = ProjectService.AccessDetails; string TemplateSelected = string.Empty; if (Session["visited"] != null) { Project model = new Project(); if (Session["EnableExtractor"] != null) { model.EnableExtractor = Session["EnableExtractor"].ToString(); ProjectService.enableExtractor = model.EnableExtractor.ToLower(); } if (Session["templateName"] != null && Session["templateName"].ToString() != "") { model.TemplateName = Session["templateName"].ToString(); TemplateSelected = model.TemplateName; } else { TemplateSelected = System.Configuration.ConfigurationManager.AppSettings["DefaultTemplate"]; } if (Session["PAT"] != null) { _accessDetails.access_token = Session["PAT"].ToString(); ProfileDetails profile = accountService.GetProfile(_accessDetails); if (profile.displayName != null || profile.emailAddress != null) { Session["User"] = profile.displayName ?? string.Empty; Session["Email"] = profile.emailAddress ?? profile.displayName.ToLower(); } if (profile.id != null) { AccountsResponse.AccountList accountList = accountService.GetAccounts(profile.id, _accessDetails); //New Feature Enabling model.accessToken = Session["PAT"].ToString(); model.refreshToken = _accessDetails.refresh_token; Session["PAT"] = _accessDetails.access_token; model.MemberID = profile.id; List <string> accList = new List <string>(); if (accountList.count > 0) { foreach (var account in accountList.value) { accList.Add(account.accountName); } accList.Sort(); model.accountsForDropdown = accList; model.hasAccount = true; } else { accList.Add("Select Organization"); model.accountsForDropdown = accList; ViewBag.AccDDError = "Could not load your organizations. Please check if the logged in Id contains the Azure DevOps Organizations or change the directory in profile page and try again."; } model.Templates = new List <string>(); model.accountUsersForDdl = new List <SelectListItem>(); TemplateSelection.Templates templates = new TemplateSelection.Templates(); string[] dirTemplates = Directory.GetDirectories(Server.MapPath("~") + @"\Templates"); //Taking all the template folder and adding to list foreach (string template in dirTemplates) { model.Templates.Add(Path.GetFileName(template)); } // Reading Template setting file to check for private templates if (System.IO.File.Exists(Server.MapPath("~") + @"\Templates\TemplateSetting.json")) { string templateSetting = model.ReadJsonFile(Server.MapPath("~") + @"\Templates\TemplateSetting.json"); templates = JsonConvert.DeserializeObject <TemplateSelection.Templates>(templateSetting); } //[for direct URLs] if the incoming template name is not null, checking for Template name in Template setting file. //if exist, will append the template name to Selected template textbox, else will append the SmartHotel360 template if (!string.IsNullOrEmpty(TemplateSelected)) { foreach (var grpTemplate in templates.GroupwiseTemplates) { foreach (var template in grpTemplate.Template) { if (template.Name != null) { if (template.Name.ToLower() == TemplateSelected.ToLower()) { model.SelectedTemplate = template.Name; model.Templates.Add(template.Name); model.selectedTemplateDescription = template.Description == null ? string.Empty : template.Description; model.selectedTemplateFolder = template.TemplateFolder == null ? string.Empty : template.TemplateFolder; model.Message = template.Message == null ? string.Empty : template.Message; model.ForkGitHubRepo = template.ForkGitHubRepo.ToString(); model.templateImage = template.Image ?? "/Templates/TemplateImages/CodeFile.png"; } } } } } return(View(model)); } } return(Redirect("../Account/Verify")); } else { Session.Clear(); return(Redirect("../Account/Verify")); } } catch (Exception ex) { ProjectService.logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n"); ViewBag.ErrorMessage = ex.Message; return(Redirect("../Account/Verify")); } }
public static async Task <(string, HttpStatusCode)> GetData(string url, string content, AccessDetails accessDetails, string method = "POST") { string contentText = ""; HttpStatusCode statusCode; using (System.Net.Http.HttpClient client = new System.Net.Http.HttpClient()) { if (accessDetails != null) { var authValue = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{accessDetails.Username}:{accessDetails.Password}"))); client.DefaultRequestHeaders.Authorization = authValue; } HttpResponseMessage response; switch (method) { case "GET": response = await client.GetAsync(url); break; case "POST": var stringContent = new StringContent(content); response = await client.PostAsync(url, stringContent); break; default: throw new Exception("Method not supported"); } statusCode = response.StatusCode; try { contentText = await response.Content.ReadAsStringAsync(); } catch { } response.Dispose(); } return(contentText, statusCode); }