public void CanGetAccountInfo() { //prod: var userId = "4a424531b1a24dadb114349238a07df7"; var userId = "271945af9f6b47119e883dc17167aead"; var settingsHelper = new Gigya.Umbraco.Module.Helpers.GigyaSettingsHelper(); var logger = new Logger(new FakeCmsLogger()); var apiHelper = new GigyaApiHelper(settingsHelper, logger); var settings = Settings(); var response = apiHelper.GetAccountInfo(userId, settings); if (response == null || response.GetErrorCode() != 0) { Assert.Fail("Invalid response"); } }
/// <summary> /// Login or register a user. /// </summary> /// <param name="model">Details from the client e.g. signature and userId.</param> /// <param name="settings">Gigya module settings.</param> /// <param name="response">Response model that will be returned to the client.</param> public virtual void LoginOrRegister(LoginModel model, IGigyaModuleSettings settings, ref LoginResponseModel response) { response.Status = ResponseStatus.Error; if (!settings.EnableRaas) { if (settings.DebugMode) { _logger.Debug("RaaS not enabled so login aborted."); } return; } if (!_gigyaApiHelper.ValidateApplicationKeySignature(model.UserId, settings, model.SignatureTimestamp, model.Signature)) { if (settings.DebugMode) { _logger.Debug("Invalid user signature for login request."); } return; } // get user info var userInfoResponse = _gigyaApiHelper.GetAccountInfo(model.UserId, settings); if (userInfoResponse == null || userInfoResponse.GetErrorCode() != 0) { _logger.Error("Failed to getAccountInfo"); return; } var gigyaModel = JsonConvert.DeserializeObject <ExpandoObject>(userInfoResponse.GetResponseText()); ThrowTestingExceptionIfRequired(settings, gigyaModel); // find what field has been configured for the Umbraco username List <MappingField> mappingFields = GetMappingFields(settings); var username = GetUmbracoUsername(mappingFields, gigyaModel); var memberService = U.Core.ApplicationContext.Current.Services.MemberService; var userExists = memberService.Exists(username); if (!userExists) { // user doesn't exist so create a new one var user = CreateUser(username, gigyaModel, settings); if (user == null) { return; } } // user logged into Gigya so now needs to be logged into Umbraco var authenticated = AuthenticateUser(username, settings, userExists, gigyaModel, mappingFields); response.Status = authenticated ? ResponseStatus.Success : ResponseStatus.Error; if (authenticated) { response.RedirectUrl = settings.RedirectUrl; } }