/// <summary> /// Returns auth token for the validated user. /// </summary> /// <param name="userId"></param> /// <returns></returns> private HttpResponseMessage GetAuthToken(BasicAuthenticationIdentity userId) { LoginResponseObject obj = new LoginResponseObject(); CustomerAPI objCus = new CustomerAPI(); objCus.EmailAddress = userId.UserName; objCus.UserType = userId.UserType; var token = _tokenServices.GenerateToken(objCus); obj.Authorized = "Authorized:"; obj.access_token = token; obj.userName = userId.UserName.ToString(); //obj.expiration = token.ExpiresOn.ToLongDateString(); obj.userData.email = userId.UserId.ToString(); // obj.userData.id = userId.ToString(); var response = Request.CreateResponse(HttpStatusCode.OK, obj); response.Headers.Add("Token", token.AuthToken); response.Headers.Add("UserID", userId.UserId.ToString()); // response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]); response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry"); response.Content.Headers.Add("access_token", token.AuthToken); //response.Content.Headers.Add("userName", userId.ToString()); var session = HttpContext.Current.Session; //if(session!=null) //{ // if(session["AuthUser"]==null) // { // session["AuthUser"] = token; // } //} return(response); }
IEnumerator LogIn(string json) { UnityWebRequest request = UnityWebRequest.Put("http://10.128.125.10/Api/autification/login.php", json); request.SetRequestHeader("Content_type", "application/json"); yield return(request.SendWebRequest()); if (request.isNetworkError) { Debug.Log(request.error); } else { Debug.Log(request.downloadHandler.text); LoginResponseObject response = JsonUtility.FromJson <LoginResponseObject>(request.downloadHandler.text); if (response.jwt != null && response.jwt.Length > 200) { gameManager.LoadLevel("MainMenu"); } else { Debug.Log("Token is not right"); } } }
public LoginResponseObject ValidateUser(LoginRequestObject viewmodel) { LoginResponseObject objentity = new LoginResponseObject(); AppResponseView objApp = new AppResponseView(); LoginResponseModel objLoginResp = new LoginResponseModel(); IAuthentication _repository = new DataAccess.Authentication.Authentication(); objLoginResp = _repository.ValidateUser(viewmodel.UserRequest); objentity.ResultObject = objLoginResp; if (objentity.ResultObject.Status == 1) { if (objentity.ResultObject.IsOTPverified == false) { objentity.ResultObject.Status = 0; objentity.ResultObject.Message = "OTP Not Verified"; } else { objentity.ResultObject.Status = 1; objentity.ResultObject.Message = "Success"; objentity.ResultObject.user = _repository.GetUserDetails(objentity.ResultObject.UserId); } //string OTP = GenerateNewOTP(); //objLoginResp.OTP = OTP; //objentity.ResultObject = objLoginResp; //SMSService.SendSms(viewmodel.UserRequest.UserName, ("Login OTP " + objentity.ResultObject.OTP)); } else { objentity.ResultObject.Message = "Invalid Credentials"; } return(objentity); }
public void CheckOutById() { ResetDb(); SeedNewArticle("9999", "xxx", "keine", "Stk.", "Migros"); SeedArticleUserSetting("9999", "Zu Hause von Tom", 1, 1); SeedStockEntry("9999", "Zu Hause von Tom", false, 2, DateTime.Now, DateTime.Now, 1); var queryObj = new { entryId = "1", amount = "1" }; LoginResponseObject loginSepp = WebClient.Login("sepp", "P@ssw0rd"); HttpResponseMessage resultA = WebClient.DeleteAsyncQuery("articles/CheckOutById", queryObj).Result; LoginResponseObject loginFritz = WebClient.Login("fritz", "P@ssw0rd"); HttpResponseMessage resultB = WebClient.DeleteAsyncQuery("articles/CheckOutById", queryObj).Result; LoginResponseObject loginTom = WebClient.Login("tom", "P@ssw0rd"); HttpResponseMessage resultC = WebClient.DeleteAsyncQuery("articles/CheckOutById", queryObj).Result; Assert.NotNull(loginSepp); Assert.NotNull(loginTom); Assert.NotNull(loginFritz); Assert.Equal(HttpStatusCode.Unauthorized, resultA.StatusCode); Assert.Equal(HttpStatusCode.Unauthorized, resultB.StatusCode); Assert.Equal(HttpStatusCode.NoContent, resultC.StatusCode); }
public void GetArticleStock() { ResetDb(); var queryParamsA = new { articleId = "9999", environmentId = "2", pageNumber = "1", itemsPerPage = "10" }; var queryParamsB = new { articleId = "9999", environmentId = "1", pageNumber = "1", itemsPerPage = "10" }; LoginResponseObject login = WebClient.Login("sepp", "P@ssw0rd"); HttpResponseMessage resultA = WebClient.GetAsyncQuery("articles/GetArticleStock/", queryParamsA).Result; HttpResponseMessage resultB = WebClient.GetAsyncQuery("articles/GetArticleStock/", queryParamsB).Result; LoginResponseObject loginFritz = WebClient.Login("fritz", "P@ssw0rd"); HttpResponseMessage resultC = WebClient.GetAsyncQuery("articles/GetArticleStock/", queryParamsA).Result; HttpResponseMessage resultD = WebClient.GetAsyncQuery("articles/GetArticleStock/", queryParamsB).Result; Assert.NotNull(login); Assert.NotNull(loginFritz); Assert.Equal(HttpStatusCode.Unauthorized, resultA.StatusCode); Assert.Equal(HttpStatusCode.OK, resultB.StatusCode); Assert.Equal(HttpStatusCode.Unauthorized, resultC.StatusCode); Assert.Equal(HttpStatusCode.OK, resultD.StatusCode); }
public void GetBaseDataWhenLoggedIn() { ResetDb(); HttpResponseMessage resultA = WebClient.GetAsync("articles/GetBaseData").Result; LoginResponseObject login = WebClient.Login("sepp", "P@ssw0rd"); HttpResponseMessage resultB = WebClient.GetAsync("articles/GetBaseData").Result; Assert.NotNull(login); Assert.Equal(HttpStatusCode.OK, resultB.StatusCode); Assert.Equal(HttpStatusCode.Unauthorized, resultA.StatusCode); }
/// <summary> /// Setzt den verwendeten Bearer Token sowie PermissionsSerial und EnvironmentId Header /// im <see cref="client"/>. /// </summary> /// <param name="client"></param> /// <param name="login">Login Objekt mit den Token Informationen</param> /// <returns></returns> public static HttpClient UseLogin(this HttpClient client, LoginResponseObject login) { Claim serialClaim = JwtHelper.DecodeToken(login.PermissionsToken).Claims .FirstOrDefault(c => c.Type == BeepClaimTypes.PermissionsSerial); Claim envId = JwtHelper.DecodeToken(login.PermissionsToken).Claims .FirstOrDefault(c => c.Type == BeepClaimTypes.EnvironmentId); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", login.IdentityToken); client.DefaultRequestHeaders.Remove(BeepClaimTypes.PermissionsSerial); client.DefaultRequestHeaders.Remove(BeepClaimTypes.EnvironmentId); client.DefaultRequestHeaders.Add(BeepClaimTypes.PermissionsSerial, serialClaim?.Value); client.DefaultRequestHeaders.Add(BeepClaimTypes.EnvironmentId, envId?.Value); return(client); }
public LoginResponseObject ChangePasswordNew(LoginRequestObject Request) { IAuthentication _repository = new DataAccess.Authentication.Authentication(); int result = _repository.ChangePassword(Request.UserRequest); LoginResponseObject response = new LoginResponseObject(); if (result == 1) { LoginResponseModel model = new LoginResponseModel(); model.Message = "Password Updated Successfully"; model.Status = 1; response.ResultObject = model; } return(response); }
public void ManagerPermissionChange(int userId, int environmentId, bool expectedResult, string comment) { ResetDb(); OutputWriter.WriteLine(comment); LoginResponseObject login = WebClient.Login("sepp", "P@ssw0rd"); HttpResponseMessage result = WebClient.PutAsJsonAsync("users/SetPermission", new PermissionsDto() { UserId = userId, EnvironmentId = environmentId, EditArticleSettings = true }).Result; Assert.NotNull(login); Assert.Equal(expectedResult, result.IsSuccessStatusCode); }
public LoginResponseObject Login(LoginFormData lgn, bool IsDesktop = false) { TransactionObject loginResponse = CheckCreedientals(lgn); LoginResponseObject response = new LoginResponseObject { TransactionObject = loginResponse }; if (loginResponse.IsSuccess) { User currentUser = userManager.GetUserByUsername(lgn.Username); SetOnlineStatus(userManager.GetUser(currentUser.ID), true, IsDesktop); uow.Save(); response.ID = currentUser.ID; } return(response); }
public async void Login(string accessKey = "") { if (accessKey.Length < 1 && !this.isRegisterd) { GameObject.Find("RegisterMenu").transform.Find("ErrorMessage").GetComponent <UnityEngine.UI.Text>().text = "Accesskey can not be empty!"; return; } else if (this.isRegisterd) { accessKey = PlayerPrefs.GetString("accessKey"); } FormUrlEncodedContent postData = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("startupKey", accessKey), new KeyValuePair <string, string>("uniqueKey", accessKey), }); HttpResponseMessage httpResponse = await client.PostAsync(serverUrl + "?action=login", postData); LoginResponseObject ro = LoginResponseObject.CreateFromJSON(await httpResponse.Content.ReadAsStringAsync()); if (ro.username != null) { PlayerPrefs.SetString("username", ro.username); PlayerPrefs.SetString("accessKey", accessKey); this.accessKey = accessKey; string[] scoreStrings = ro.score.Split(' '); PlayerPrefs.SetInt("highscore_slow", int.Parse(scoreStrings[0])); PlayerPrefs.SetInt("highscore_norm", int.Parse(scoreStrings[1])); PlayerPrefs.SetInt("highscore_fast", int.Parse(scoreStrings[2])); this.isRegisterd = true; GameObject.Find("RegisterMenu").SetActive(false); } else { GameObject.Find("RegisterMenu").transform.Find("ErrorMessage").GetComponent <UnityEngine.UI.Text>().text = ro.responseCode + " : " + ro.msg; Debug.LogError(ro.responseCode + " : " + ro.msg); } }
public void GetArticleDateSuggestion() { ResetDb(); SeedNewArticle("9999", "Dummy", "keine", "Stk.", "Migros"); SeedArticleUserSetting("9999", "Zu Hause von Sepp", 1, 1); SeedStockEntry("9999", "Zu Hause von Sepp", false, 1, DateTime.Now, DateTime.Now, 1); LoginResponseObject login = WebClient.Login("sepp", "P@ssw0rd"); HttpResponseMessage resultA = WebClient.GetAsync("articles/GetArticleDateSuggestions/9999/2").Result; HttpResponseMessage resultB = WebClient.GetAsync("articles/GetArticleDateSuggestions/9999/1").Result; LoginResponseObject loginFritz = WebClient.Login("fritz", "P@ssw0rd"); HttpResponseMessage resultC = WebClient.GetAsync("articles/GetArticleDateSuggestions/9999/2").Result; HttpResponseMessage resultD = WebClient.GetAsync("articles/GetArticleDateSuggestions/9999/1").Result; Assert.NotNull(login); Assert.NotNull(loginFritz); Assert.Equal(HttpStatusCode.Unauthorized, resultA.StatusCode); Assert.Equal(HttpStatusCode.OK, resultB.StatusCode); Assert.Equal(HttpStatusCode.Unauthorized, resultC.StatusCode); Assert.Equal(HttpStatusCode.OK, resultD.StatusCode); }
public void GetArticlesNoMember() { ResetDb(); LoginResponseObject login = WebClient.Login("sepp", "P@ssw0rd"); HttpResponseMessage resultA = WebClient.GetAsyncQuery("articles/GetArticles", new { EnvironmentId = 2 }).Result; HttpResponseMessage resultB = WebClient.GetAsyncQuery("articles/GetArticles", new { EnvironmentId = 1 }).Result; LoginResponseObject loginFritz = WebClient.Login("fritz", "P@ssw0rd"); HttpResponseMessage resultC = WebClient.GetAsyncQuery("articles/GetArticles", new { EnvironmentId = 2 }).Result; HttpResponseMessage resultD = WebClient.GetAsyncQuery("articles/GetArticles", new { EnvironmentId = 1 }).Result; Assert.NotNull(login); Assert.NotNull(loginFritz); Assert.Equal(HttpStatusCode.Unauthorized, resultA.StatusCode); Assert.Equal(HttpStatusCode.Unauthorized, resultC.StatusCode); Assert.Equal(HttpStatusCode.OK, resultB.StatusCode); Assert.Equal(HttpStatusCode.OK, resultD.StatusCode); }
public void OpenArticle() { ResetDb(); SeedNewArticle("9999", "xxx", "keine", "Stk.", "Migros"); SeedArticleUserSetting("9999", "Zu Hause von Tom", 1, 1); SeedStockEntry("9999", "Zu Hause von Tom", false, 2, DateTime.Now, DateTime.Now, 1); var sevDto = new StockEntryValueDto { Id = 1, EnvironmentId = 2, AmountOnStock = 2, ExpireDate = DateTime.Now, ArticleId = 1, IsOpened = false, OpenedOn = DateTime.Now, AmountRemaining = 0.5f, ClientTimezoneOffset = 0 }; LoginResponseObject loginSepp = WebClient.Login("sepp", "P@ssw0rd"); HttpResponseMessage resultA = WebClient.PutAsJsonAsync("articles/OpenArticle", sevDto).Result; LoginResponseObject loginFritz = WebClient.Login("fritz", "P@ssw0rd"); HttpResponseMessage resultB = WebClient.PutAsJsonAsync("articles/OpenArticle", sevDto).Result; LoginResponseObject loginTom = WebClient.Login("tom", "P@ssw0rd"); HttpResponseMessage resultC = WebClient.PutAsJsonAsync("articles/OpenArticle", sevDto).Result; Assert.NotNull(loginSepp); Assert.NotNull(loginTom); Assert.NotNull(loginFritz); Assert.Equal(HttpStatusCode.Unauthorized, resultA.StatusCode); Assert.Equal(HttpStatusCode.Unauthorized, resultB.StatusCode); Assert.Equal(HttpStatusCode.NoContent, resultC.StatusCode); }
private async void OnButtonSubmit(object sender, EventArgs e) { //if (CrossConnectivity.Current.IsConnected) //{ //await Navigation.PushModalAsync(new F4HApp.MP()); var MobileNo = txtMobileNo.Text; var Password = txtPassword.Text; string MemberID = ""; string MemberName = ""; string IsLoggedIn = "Fail"; string Msg = "Invalid Login"; string LastLoginDate = ""; if (MobileNo == null) { await DisplayAlert("Validation Error", "Username cannot be blank", "Re-try"); return; } if (Password == null) { await DisplayAlert("Validation Error", "Password cannot be blank", "Re-try"); return; } dsLogin = new F4HApp.dataservice.DSLogin(); string result = await dsLogin.ChkLogin(MobileNo, Password); LoginResponseObject m = JsonConvert.DeserializeObject <LoginResponseObject>(result.Replace("[", "").Replace("]", "")); IsLoggedIn = m.IsLoggedIn.ToString(); MemberID = m.MemberId; MemberName = m.Name; Msg = m.Msg; LastLoginDate = m.LastLoginDate; if (IsLoggedIn == "Success") { App.IsLoggedIn = true; App.MemberID = MemberID; App.MemberName = MemberName; App.LastLoginDate = LastLoginDate; App.MobileNumber = txtMobileNo.Text.Trim(); await Navigation.PushModalAsync(new F4HApp.MP()); } else { await DisplayAlert("Validation Error", "Invalid login attempt", "Re-try"); } //try //{ // var content = ""; // HttpClient client = new HttpClient(); // var RestURL = "http://www.khubisolutions.com/f4hrestapi/api/home"; // client.BaseAddress = new Uri(RestURL); // client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); // HttpResponseMessage response = await client.GetAsync(RestURL); // content = await response.Content.ReadAsStringAsync(); // //var Items = JsonConvert.DeserializeObject<List<ItemClass>>(content); // //ListView1.ItemsSource = Items; //} //catch(Exception ex) //{ // string rr = ex.Message.ToString(); //} //} //else //{ // await DisplayAlert("Conection Error", "Internet Conection Wifi/Mobile Data is currently inactive. Try again later.", "Re-try"); //} }
public void NotificationTest() { /* 1. Join Env * 2. Login user and switch to Tom's env * 3. Login Owner * 4. Change Permissions * 5. Verify Header * 6. Udpate token * 7. Verify new Permissions * 8. Verify Header*/ ResetDb(); var initialPermissions = new Permission() { CanScan = true, EditArticleSettings = true }; JoinEnvironment("sepp", "Zu Hause von Tom", initialPermissions); LoginResponseObject loginSepp = WebClient.Login("sepp", "P@ssw0rd"); //Switch to other Environment HttpResponseMessage changeEnvironmentResult = WebClient.GetAsync($"auth/UpdatePermissionClaims/{loginSepp.MappedUser.Id}/?environmentId=2").Result; loginSepp.PermissionsToken = JObject.Parse(changeEnvironmentResult.Content.ReadAsStringAsync().Result) .ToObject <LoginResponseObject>().PermissionsToken; //Set new Permissions var newPermission = new PermissionsDto() { UserId = loginSepp.MappedUser.Id, EnvironmentId = 2, CanScan = true, EditArticleSettings = true, ManageUsers = true // New }; WebClient.Login("tom", "P@ssw0rd"); HttpResponseMessage setPermissionsResult = WebClient.PutAsJsonAsync("users/SetPermission", newPermission).Result; //Execute some Action to trigger permissions changed notification HttpResponseMessage invitationsCountResult = WebClient.UseLogin(loginSepp) .GetAsync($"users/InvitationsCount/{loginSepp.MappedUser.Id}").Result; //Update the Token HttpResponseMessage updateTokenResult = WebClient.GetAsync( $"auth/UpdatePermissionClaims/{loginSepp.MappedUser.Id}/?environmentId=2").Result; loginSepp.PermissionsToken = JObject.Parse(updateTokenResult.Content.ReadAsStringAsync().Result) .ToObject <LoginResponseObject>().PermissionsToken; JwtSecurityToken token = JwtHelper.DecodeToken(loginSepp.PermissionsToken); string updatedPermissions = token.Claims.FirstOrDefault(c => c.Type == BeepClaimTypes.Permissions)?.Value; //Execute another action to verify permissions changed notification is gone HttpResponseMessage noPermissionsChangedHeader = WebClient.UseLogin(loginSepp) .GetAsync($"users/InvitationsCount/{loginSepp.MappedUser.Id}").Result; Assert.True(changeEnvironmentResult.IsSuccessStatusCode); Assert.True(setPermissionsResult.IsSuccessStatusCode); Assert.NotNull(invitationsCountResult.Headers.FirstOrDefault(h => h.Key == "PermissionsChanged").Value); Assert.Equal(newPermission.ToBits(), updatedPermissions); Assert.Null(noPermissionsChangedHeader.Headers.FirstOrDefault(h => h.Key == "PermissionsChanged").Value); }