public string loadAllPendingRequisitions(String accessToken) { OAuthController oAuth = new OAuthController(); User user = oAuth.actionGetUserByToken(accessToken); RequisitionController requisitionController = new RequisitionController(); List <Requisition> requisition_entities = requisitionController.actionGetPendingRequisitionsByUserID(user.id); List <RequisitionModel> model = new List <RequisitionModel>(); StationeryController stationeryController = new StationeryController(); List <StationaryRequests> stationeryRequests = new List <StationaryRequests>(); int counter = 1; foreach (Requisition r in requisition_entities) { StationaryRequests stationaryRequests = new StationaryRequests(); stationaryRequests.Quantity = r.quantity; stationaryRequests.SNo = counter; stationaryRequests.StationaryName = stationeryController.actionGetStationeryByID(r.stationery).stationery_name; stationaryRequests.RequestedDate = r.datetime_requested.ToString(); stationeryRequests.Add(stationaryRequests); counter++; } return(JsonConvert.SerializeObject(stationeryRequests)); }
protected void Page_Load(object sender, EventArgs e) { string method = Request.QueryString["method"]; if (method == "makeRequisition") { string accessToken = Request.QueryString["accessToken"]; int qty = Convert.ToInt32(Request.QueryString["qty"]); string stationeryName = Request.QueryString["stName"]; OAuthController oAuth = new OAuthController(); User user = oAuth.actionGetUserByToken(accessToken); int userId = user.id; makeRequisition(userId, stationeryName, qty); } else if (method == "loadAllStationaries") { loadAllStationaries(); } else if (method == "getStationaryId") { System.Diagnostics.Debug.WriteLine("Inside getStationaryId"); string stationeryName = Request.QueryString["stName"]; string stName = stationeryName.Replace('_', ' '); System.Diagnostics.Debug.WriteLine(" json:" + stName); getStationaryId(stName); } // Response.Write(loadAllStationaries()); }
/// <summary> /// Returns the names of the lists to validate the SharePoint configuration /// </summary> /// <param name="accessHeader">The token to access SharePoint</param> /// <returns></returns> public async Task <List <ConfigurationInfo> > GetConfigurations(string accessToken) { List <ConfigurationInfo> configurations = new List <ConfigurationInfo>(); StringBuilder requestUri = new StringBuilder() .Append(this.SiteUrl) .Append("/_api/web/lists?$select=Title,ListItemEntityTypeFullName&$filter=(Title eq '") .Append(this.ProjectsListName) .Append("') or (Title eq '") .Append(this.ReferencesListName) .Append("')"); HttpResponseMessage response = await this.Get(requestUri.ToString(), accessToken); string responseString = await response.Content.ReadAsStringAsync(); XElement root = XElement.Parse(responseString); foreach (XElement elem in root.Descendants(ExtensionMethods.m + "properties")) { string title = elem.Descendants(ExtensionMethods.d + "Title").First().Value; string type = elem.Descendants(ExtensionMethods.d + "ListItemEntityTypeFullName").First().Value; //Send configuration info back to client so they know lists are ready configurations.Add(new ConfigurationInfo() { Key = "List", Value = title }); //Save the SharePoint type for use in creates and updates OAuthController.SaveInCache(title, type); } return(configurations); }
public static void ValidateAntiForgery(this HttpRequestMessage request) { string cookieToken = string.Empty; string formToken = string.Empty; IEnumerable <string> tokenHeaders; if (request.Headers.TryGetValues("RequestVerificationToken", out tokenHeaders)) { string[] tokens = tokenHeaders.First().Split(':'); if (tokens.Length == 2) { cookieToken = tokens[0].Trim(); formToken = tokens[1].Trim(); OAuthController.SaveInCache("cookieToken", cookieToken); OAuthController.SaveInCache("formToken", formToken); } } else { cookieToken = OAuthController.GetFromCache("cookieToken").ToString(); formToken = OAuthController.GetFromCache("formToken").ToString(); } AntiForgery.Validate(cookieToken, formToken); }
public void Should_return_search_oauth_page() { var controller = new OAuthController(); var result = (ViewResult)controller.Index(); result.ViewName.Should().Be("Index"); }
/// <summary> /// This is a helper method to provide Tempdata context to the test /// </summary> public static TempDataDictionary AuthorizeApplication() { OAuthController controller = new OAuthController(); controller.TempData = new TempDataDictionary(); var result = controller.AuthorizeApplication() as ViewResult; return((TempDataDictionary)result.TempData); }
public OAuthController GetController(OAuthMocks mocks) { var controller = new OAuthController(mocks.WebSecurity.Object, mocks.OAuthWebSecurity.Object); controller.ControllerContext = new ControllerContext(mocks.Context.Object, new RouteData(), controller); controller.Url = new UrlHelper(new RequestContext(mocks.Context.Object, new RouteData()), mocks.Routes); return controller; }
public void Should_begin_authorisation() { var controller = new OAuthController(); var task = controller.BeginAsync(); task.RunSynchronously(); var result = task.Result; }
public void TestIndexByPassingCorrectConfigurationValues() { // Arrange OAuthController controller = new OAuthController(); // Act ViewResult result = controller.Index() as ViewResult; // Assert Assert.IsNull(result); }
public void TestAuthorizationWithCorrectKeys() { // Arrange OAuthController controller = new OAuthController(); // Act ViewResult result = controller.AuthorizeApplication() as ViewResult; // Assert Assert.IsNotNull(result); Assert.AreNotEqual("Error", result.ViewName); }
public override void OnException(HttpActionExecutedContext actionExecutedContext) { if (actionExecutedContext.Exception is UnauthorizedAccessException) { string resource = ConfigurationManager.AppSettings["ida:Resource"]; string redirectUri = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority).ToString() + "/Home/SPA"; string authorizationUrl = OAuthController.GetAuthorizationUrl(resource, new Uri(redirectUri)); actionExecutedContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized); System.Net.Http.Headers.AuthenticationHeaderValue realm = new System.Net.Http.Headers.AuthenticationHeaderValue("OAuth", "realm=\"" + authorizationUrl + "\""); actionExecutedContext.Response.Headers.WwwAuthenticate.Add(realm); } }
public void logout(HttpContext context) { User user = getUserByAccessToken(context.Request.Form["access_token"]); Message message = new Message(false); if (user != null) { message = new OAuthController().actionDeleteTokenByToken(context.Request.Form["access_token"]); } context.Response.Write(JsonConvert.SerializeObject(message)); }
public void TestAuthorizationWithWrongorEmptyKeys() { // Arrange Mock <IConfigurationModel> configuration = TestHelper.GetMockedConfiguration(); OAuthController controller = new OAuthController(); controller.Configuration = configuration.Object; // Act ViewResult result = controller.AuthorizeApplication() as ViewResult; // Assert Assert.AreEqual("Error", result.ViewName); }
public string approveRequisition(string accessToken, int reqId) { try { OAuthController oAuth = new OAuthController(); User user = oAuth.actionGetUserByToken(accessToken); //get userId RequisitionController requisitionController = new RequisitionController(); requisitionController.actionRequisitionStatusChangeToApproved(reqId, user.id); return("success"); } catch (Exception e) { return("fail"); } }//approveRequisition
public void SetFixture(MockRepository mocks) { mockRepository = mocks; DefaultProvider = mocks.DynamicMock <IOAuthProvider>(); DefaultcontextBuilder = mocks.DynamicMock <IOAuthContextBuilder>(); var httpRequest = mocks.DynamicMock <HttpRequestBase>(); var httpContextMock = mocks.DynamicMock <HttpContextBase>(); mockOAuthContext = mocks.DynamicMock <IOAuthContext>(); DefaultcontextBuilder.Stub(contextBuilder => contextBuilder.FromHttpRequest(httpRequest)).Return(mockOAuthContext); DefaultProvider.Stub(provider => provider.ExchangeRequestTokenForAccessToken(mockOAuthContext)).Return(requestToken); httpContextMock.Stub(httpcontext => httpcontext.Request).Return(httpRequest); var controller = new OAuthController(ContextBuilder, Provider); var controllerContext = new ControllerContext(httpContextMock, new RouteData(), controller); controller.ControllerContext = controllerContext; mocks.ReplayAll(); result = controller.AccessToken(); }
}//approveRequisition public string rejectRequisition(string accessToken, int reqId, string reason) { System.Diagnostics.Debug.WriteLine("inside rejectRequisition: accessToken" + accessToken + " ,reqId:" + reqId + " ,reason:" + reason); try { OAuthController oAuth = new OAuthController(); User user = oAuth.actionGetUserByToken(accessToken); //get userId RequisitionController requisitionController = new RequisitionController(); // requisitionController.actionRequisitionStatusChangeToRejected(reqId); requisitionController.actionRequisitionStatusChangeToRejectedWithRemarkAndRejectedBy(reqId, reason, user.id); return("success"); } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Exception occured in rejectRequisition.." + e.Message); return("fail"); } }//rejectRequisition
public void get_access_token(HttpContext context) { String username = context.Request.Form["username"]; String password = context.Request.Form["password"]; OAuthController oauthController = new OAuthController(); OAuthViewModel oauth = null; User user = new AuthenticationController().actionCheckLoginData(username, password); if (user != null) { if (user.user_type == 4) { oauth = new OAuthViewModel(oauthController.actionGetNewTokenByUsernameAndPassword(username, password)); } } context.Response.Write(JsonConvert.SerializeObject(oauth)); }
public string approveAllRequisitions(string accessToken, List <RequisitionId> requisitionsIds) { OAuthController oAuth = new OAuthController(); User user = oAuth.actionGetUserByToken(accessToken); RequisitionController requisitionController = new RequisitionController(); try { for (int i = 0; i < requisitionsIds.Count(); i++) { RequisitionId requisitionId = requisitionsIds[i]; requisitionController.actionRequisitionStatusChangeToApproved(requisitionId.reqId, user.id); } return("success"); } catch (Exception e) { return("fail"); } }
public string showAllApprovedRequisitions(string accessToken) { OAuthController oAuth = new OAuthController(); User user = oAuth.actionGetUserByToken(accessToken); RequisitionController requisitionController = new RequisitionController(); List <RequisitionView> requisitionDepartmentWise = requisitionController.actionGetApprovedRequisitionViewsByDepartmentID(Convert.ToInt32(user.department)); List <Requisition> requisitions = new List <Requisition>(); foreach (RequisitionView rView in requisitionDepartmentWise) { Requisition requisition = new Requisition(); requisition.EmployeeName = rView.firstname + " " + rView.lastname; requisition.Quantity = rView.quantity; requisition.RequisitionDate = rView.datetime_requested; requisition.ReqDate = rView.datetime_requested.ToString("MMMM dd, yyyy"); requisition.StationaryName = rView.stationery_name; requisitions.Add(requisition); } return(JsonConvert.SerializeObject(requisitions)); }//showAllApprovedRequisitions
}//rejectRequisition public void get_access_token(HttpContext context) { System.Diagnostics.Debug.WriteLine("########### inside get_access_token######"); String username = context.Request.Form["username"]; String password = context.Request.Form["password"]; OAuthController oauthController = new OAuthController(); OAuthViewModel oauth = new OAuthViewModel(); oauth.access_token = ""; User user = new AuthenticationController().actionCheckLoginData(username, password); if (user != null) { System.Diagnostics.Debug.WriteLine("###########User type:" + user.user_type); if ((user.user_type == 2) || (user.user_type == 3)) { oauth.access_token = oauthController.actionGetNewTokenByUsernameAndPassword(username, password); } } context.Response.Write(JsonConvert.SerializeObject(oauth)); }
public XElement ToXElement() { return(new XElement(ExtensionMethods.atom + "entry", new XAttribute(XNamespace.Xmlns + "d", ExtensionMethods.d), new XAttribute(XNamespace.Xmlns + "m", ExtensionMethods.m), new XElement(ExtensionMethods.atom + "category", new XAttribute("term", OAuthController.GetFromCache(this.ProjectsListName)), new XAttribute("scheme", "http://schemas.microsoft.com/ado/2007/08/dataservices/scheme")), new XElement(ExtensionMethods.atom + "content", new XAttribute("type", "application/xml"), new XElement(ExtensionMethods.m + "properties", new XElement(ExtensionMethods.d + "Title", this.Title))))); }
/// <summary> /// Retrieves an access token from the OAuth Controller /// </summary> /// <returns>Access Token</returns> private string GetAccessToken() { return(OAuthController.GetAccessTokenFromCacheOrRefreshToken(this.Tenant, this.Resource)); }
public async Task <ActionResult> Index() { //OAuth Controller string resourceId = ConfigurationManager.AppSettings["ida:ResourceId"]; string accessToken = null; string redirectUri = null; string authorizationUrl = null; string tenantId = (string)OAuthController.GetFromCache("TenantId"); if (tenantId != null) { accessToken = OAuthController.GetAccessTokenFromCacheOrRefreshToken(tenantId, resourceId); } if (accessToken == null) { redirectUri = this.Request.Url.GetLeftPart(UriPartial.Authority).ToString() + "/Home"; authorizationUrl = OAuthController.GetAuthorizationUrl(resourceId, Request); OAuthController.SaveInCache("RedirectTo", new Uri(redirectUri)); return(new RedirectResult(authorizationUrl)); } //Search Query Uri StringBuilder requestUri = new StringBuilder(resourceId) .Append("/O3652-7/_api/web/lists/getbytitle('Contacts')/items"); //Execute Query HttpClient client = new HttpClient(); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUri.ToString()); request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); HttpResponseMessage response = await client.SendAsync(request); string json = await response.Content.ReadAsStringAsync(); //Parse JSON JObject jsonObject = JObject.Parse(json); List <Person> people = new List <Person>(); foreach (var p in jsonObject["value"]) { string lastName = p["Title"].Value <string>(); string firstName = p["FirstName"].Value <string>(); string jobTitle = p["JobTitle"].Value <string>(); string workEmail = p["EMail"].Value <string>(); string workPhone = p["WorkPhone"].Value <string>(); if (lastName != null) { people.Add(new Person() { LastName = lastName, FirstName = firstName, JobTitle = jobTitle, WorkEmail = workEmail, WorkPhone = workPhone }); } } ViewBag.People = people; return(View()); }
public XElement ToXElement() { return(new XElement(ExtensionMethods.atom + "entry", new XAttribute(XNamespace.Xmlns + "d", ExtensionMethods.d), new XAttribute(XNamespace.Xmlns + "m", ExtensionMethods.m), new XElement(ExtensionMethods.atom + "category", new XAttribute("term", OAuthController.GetFromCache(this.ReferencesListName)), new XAttribute("scheme", "http://schemas.microsoft.com/ado/2007/08/dataservices/scheme")), new XElement(ExtensionMethods.atom + "content", new XAttribute("type", "application/xml"), new XElement(ExtensionMethods.m + "properties", new XElement(ExtensionMethods.d + "URL", new XAttribute(ExtensionMethods.m + "type", "SP.FieldUrlValue"), new XElement(ExtensionMethods.d + "Description", this.Title), new XElement(ExtensionMethods.d + "Url", this.Url)), new XElement(ExtensionMethods.d + "Comments", this.Notes), new XElement(ExtensionMethods.d + "Project", this.Project))))); }
/// <summary> /// Utilizes the OAuthController to get the access token for SharePoint /// in the name of the current user for the given tenancy. /// </summary> /// <returns>string containing the access token</returns> public string GetAccessToken() { string accessToken = OAuthController.GetAccessTokenFromCacheOrRefreshToken(this.Tenant, this.Resource); return(accessToken); }
public string showAllPendingRequisition(string accessToken) { RequisitionController requisitionController = new RequisitionController(); JavaScriptSerializer js = new JavaScriptSerializer(); OAuthController oAuth = new OAuthController(); User user = oAuth.actionGetUserByToken(accessToken); // int userId = user.id; List <RequisitionView> requisitionDepartmentWise = requisitionController.actionGetPendingRequisitionViewsByDepartmentID(Convert.ToInt32(user.department)); List <UserRequisition> userRequisitionsList = new List <UserRequisition>(); foreach (RequisitionView r in requisitionDepartmentWise) { if (userRequisitionsList.Count == 0) { UserRequisition userRequisition = new UserRequisition(); userRequisition.EmployeeName = r.firstname + " " + r.lastname; userRequisition.UserId = r.user_obj; Requisition requisition = new Requisition(); requisition.ReqId = r.requisition_id; requisition.Quantity = r.quantity; requisition.StationaryName = r.stationery_name; userRequisition.UserRequisitions.Add(requisition); userRequisitionsList.Add(userRequisition); } else { bool found = false; //check if requisition from the same user is pending, if yes group the requisition based on that user id foreach (UserRequisition uR in userRequisitionsList) { if (r.user_obj == uR.UserId) { found = true; Requisition requisition = new Requisition(); requisition.ReqId = r.requisition_id; requisition.Quantity = r.quantity; requisition.StationaryName = r.stationery_name; requisition.RequisitionDate = r.datetime_requested; uR.UserRequisitions.Add(requisition); break; } }//foreach //else simply add the userrequisition to the list, grouping not required if (!found) { UserRequisition userRequisition = new UserRequisition(); userRequisition.EmployeeName = r.firstname + " " + r.lastname; userRequisition.UserId = r.user_obj; Requisition requisition = new Requisition(); requisition.ReqId = r.requisition_id; requisition.Quantity = r.quantity; requisition.StationaryName = r.stationery_name; userRequisition.UserRequisitions.Add(requisition); userRequisitionsList.Add(userRequisition); } //if } //else } //forEach System.Diagnostics.Debug.WriteLine("json serialized:" + JsonConvert.SerializeObject(userRequisitionsList)); return(JsonConvert.SerializeObject(userRequisitionsList)); /// return js.Serialize(userRequisitionsList); }//showAllPendingRequisition
static async Task Main(string [] args) { Resolver.Register <IAuthStorage, AuthStorage> (); OAuthApi.ShowAuthenticator = async(auth) => { var authenticator = new OAuthController(auth); await authenticator.GetCredentials(auth.Title); }; Console.WriteLine("Welcome to the Stream Helper!"); //Console.WriteLine ($"Args: {String.Join (" ,", args)}"); string message = null; bool show_help = false; bool shouldLogOut = false; var p = new OptionSet() { { "m|message=", "The Message to be tweeted/Twitched", v => message = v }, { "p|profile=", "the current profile", (v) => Settings.Profile = v }, { "f|file=", "The file path we will update.", v => Settings.TextFilePath = v }, { "logout", "log out of all social accounts", v => shouldLogOut = v != null }, { "h|help", "show this message and exit", v => show_help = v != null }, }; List <string> extra; try { extra = p.Parse(args); } catch (Exception ex) { Debug.WriteLine(ex); ShowHelp(p); return; } if (show_help || (args?.Length ?? 0) == 0 && !Debugger.IsAttached) { ShowHelp(p); return; } if (shouldLogOut) { GetTwitchApi().Logout(); GetTwitterApi().Logout(); } if (string.IsNullOrWhiteSpace(message)) { if (!shouldLogOut) { ShowHelp(p); } return; } await Task.WhenAll(UpdateTopic (message), SetMarkerInTwitch (message), TweetUpdate (message)); Console.WriteLine("Done!"); }