/// <summary> /// Authenticate user via Authenticattion service. Redirects user to service wher euser use 3rth party tools for Authentication /// Method uses strings, keys from config file. /// </summary> /// <param name="language">TransactionLanguage 2-letter language code (EN,FI,SV)</param> /// <param name="uriModel">VetumaUriModel contains necessary uri links</param> /// <param name="transactionId">Unique TransactionId for authentication process</param> /// <param name="vetumaButtonText">Vetuma button text</param> /// <param name="vetumaButtonInstructions">Vetuma button instruction text</param> public void Authenticate(TransactionLanguage language, VetumaUriModel uriModel, string transactionId, string vetumaButtonText, string vetumaButtonInstructions) { // Allow authentication through banks and with an HST card Collection<VetumaLoginMethod> methods = new Collection<VetumaLoginMethod>(); methods.Add(VetumaLoginMethod.Tupas); methods.Add(VetumaLoginMethod.HST); // first two parameters are related to the VetumaRequest rendering a button to facilitate // // transferring to Vetuma when the user has javascript disabled. VetumaAuthenticationRequest request = new VetumaAuthenticationRequest(vetumaButtonText, vetumaButtonInstructions, language.ToString().ToLowerInvariant(), methods, uriModel.RedirectUri, uriModel.CancelUri, uriModel.ErrorUri, this.vetumaUtilities.GetConfigUriKey(VetumaKeys.VetumaAuthenticationUrl), this.vetumaUtilities.GetConfigKey(VetumaKeys.VetumaAuthenticationSharedSecretId), this.vetumaUtilities.GetConfigKey(VetumaKeys.VetumaAuthenticationSharedSecret), this.vetumaUtilities.GetConfigKey(VetumaKeys.VetumaApplicationIdentifier), this.vetumaUtilities.GetConfigKey(VetumaKeys.VetumaAuthenticationConfigurationId)); // Vetuma requires this additional parameter to retrieve personal ids from VTJ request.ExtraData = "VTJ1"; // store a unique identifier and attach it to the request request.TransactionId = transactionId; request.ApplicationName = this.vetumaUtilities.GetConfigKey(VetumaKeys.VetumaApplicationDisplayName); this.vetumeService.SubmitVetumaAuthenticationRequest(request); }
public void Init() { this.vetumaUtilities = new Mock<IVetumaUtilities>(); this.vetumaUtilities.Setup(o => o.GetConfigKey(It.IsAny<VetumaKeys>())) .Returns<VetumaKeys>(o => o.ToString()); this.vetumaUtilities.Setup(o => o.GetConfigUriKey(It.IsAny<VetumaKeys>())) .Returns<VetumaKeys>(o => new Uri("htt:\\paymentUri.com")); this.serviceMock = new Mock<IVetumaService>(); this.serviceMock.Setup(o => o.SubmitVetumaAuthenticationRequest(It.IsAny<VetumaAuthenticationRequest>())) .Callback<VetumaAuthenticationRequest>(o => this.request = o); this.service = new StrongAuthenticationService(this.serviceMock.Object, this.vetumaUtilities.Object); }
/// <summary> /// Method submit Vetuma authentification request /// </summary> /// <param name="input">VetumaAuthenticationRequest object</param> public void SubmitVetumaAuthenticationRequest(VetumaAuthenticationRequest input) { input.Submit(); }