private string GetStatusMessage(CollectResponse collectResponse, BankIdLoginOptions unprotectedLoginOptions, HttpRequest request) { var authPersonalIdentityNumberProvided = PersonalIdentityNumberProvided(unprotectedLoginOptions); var detectedDevice = _bankIdSupportedDeviceDetector.Detect(request.Headers["User-Agent"]); var accessedFromMobileDevice = detectedDevice.IsMobile; var messageShortName = _bankIdUserMessage.GetMessageShortNameForCollectResponse(collectResponse.GetCollectStatus(), collectResponse.GetCollectHintCode(), authPersonalIdentityNumberProvided, accessedFromMobileDevice); var statusMessage = _bankIdUserMessageLocalizer.GetLocalizedString(messageShortName); return(statusMessage); }
private string GetStatusMessage(CollectResponse collectResponse) { //TODO: Set these to correct values, might be provided from option / depending on what requirements are set var authPersonalIdentityNumberProvided = true; var accessedFromMobileDevice = true; var messageShortName = _bankIdUserMessage.GetMessageShortNameForCollectResponse(collectResponse.Status, collectResponse.HintCode, authPersonalIdentityNumberProvided, accessedFromMobileDevice); var statusMessage = _bankIdUserMessageLocalizer.GetLocalizedString(messageShortName); return(statusMessage); }
private string GetStatusMessage(CollectResponse collectResponse, BankIdLoginOptions unprotectedLoginOptions, BankIdSupportedDevice detectedDevice) { var authPersonalIdentityNumberProvided = PersonalIdentityNumberProvided(unprotectedLoginOptions); var accessedFromMobileDevice = detectedDevice.DeviceType == BankIdSupportedDeviceType.Mobile; var usingQrCode = unprotectedLoginOptions.UseQrCode; var messageShortName = _bankIdUserMessage.GetMessageShortNameForCollectResponse( collectResponse.GetCollectStatus(), collectResponse.GetCollectHintCode(), authPersonalIdentityNumberProvided, accessedFromMobileDevice, usingQrCode); var statusMessage = _bankIdUserMessageLocalizer.GetLocalizedString(messageShortName); return(statusMessage); }
public static async Task <CollectResponse> CertAsync(string ssn, string ip) { setupClient(); dynamic dynamicJson = new ExpandoObject(); dynamicJson.endUserIp = ip; dynamicJson.personalNumber = ssn; string json = ""; json = Newtonsoft.Json.JsonConvert.SerializeObject(dynamicJson); var authResponse = await Request <AuthResponse>("https://appapi2.test.bankid.com/rp/v5.1/auth", json); CollectResponse collectResponse = new CollectResponse(); dynamic dynamicCollect = new ExpandoObject(); dynamicCollect.orderRef = authResponse.orderRef; string jsonCollect = ""; jsonCollect = Newtonsoft.Json.JsonConvert.SerializeObject(dynamicCollect); bool initialPoll = false; bool collectComplete = false; do { if (!initialPoll) { Thread.Sleep(2000); } collectResponse = await Request <CollectResponse>("https://appapi2.test.bankid.com/rp/v5.1/collect", jsonCollect); if (collectResponse.status == "complete") { collectComplete = true; } initialPoll = true; } while (!collectComplete); return(collectResponse); }
public async Task <CollectResponse> CollectAsync(CollectRequest request) { await SimulateResponseDelay().ConfigureAwait(false); if (!_auths.ContainsKey(request.OrderRef)) { throw new BankIdApiException(ErrorCode.NotFound, "OrderRef not found"); } var auth = _auths[request.OrderRef]; var status = GetStatus(auth.CollectCalls); var hintCode = GetHintCode(auth.CollectCalls); var completionData = GetCompletionData(status, auth.PersonalIdentityNumber); var response = new CollectResponse(status, hintCode) { OrderRef = auth.OrderRef, CompletionData = completionData }; auth.CollectCalls += 1; return(response); }
private ActionResult CollectPending(CollectResponse collectResponse, string statusMessage) { _logger.BankIdCollectPending(collectResponse.OrderRef, collectResponse.GetCollectHintCode()); return(Ok(BankIdLoginApiStatusResponse.Pending(statusMessage))); }
private async Task <ActionResult> CollectComplete(BankIdLoginApiStatusRequest request, CollectResponse collectResponse) { _logger.BankIdCollectCompleted(collectResponse.OrderRef, collectResponse.CompletionData); await _bankIdResultStore.StoreCollectCompletedCompletionData(collectResponse.OrderRef, collectResponse.CompletionData); var returnUri = GetSuccessReturnUri(collectResponse.CompletionData.User, request.ReturnUrl); if (!Url.IsLocalUrl(returnUri)) { throw new Exception(BankIdAuthenticationConstants.InvalidReturnUrlErrorMessage); } return(Ok(BankIdLoginApiStatusResponse.Finished(returnUri))); }
private ActionResult CollectFailure(CollectResponse collectResponse, string statusMessage) { _logger.BankIdCollectFailure(collectResponse.OrderRef, collectResponse.GetCollectHintCode()); return(BadRequest(new BankIdLoginApiErrorResponse(statusMessage))); }
private async Task <ActionResult> CollectComplete(BankIdLoginApiStatusRequest request, CollectResponse collectResponse) { if (collectResponse.CompletionData == null) { throw new ArgumentNullException(nameof(collectResponse.CompletionData)); } if (request.ReturnUrl == null) { throw new ArgumentNullException(nameof(request.ReturnUrl)); } _logger.BankIdCollectCompleted(collectResponse.OrderRef, collectResponse.CompletionData); foreach (var bankIdResultStore in _bankIdResultStores) { await bankIdResultStore.StoreCollectCompletedCompletionData(collectResponse.OrderRef, collectResponse.CompletionData); } var returnUri = GetSuccessReturnUri(collectResponse.CompletionData.User, request.ReturnUrl); if (!Url.IsLocalUrl(returnUri)) { throw new Exception(BankIdConstants.InvalidReturnUrlErrorMessage); } return(Ok(BankIdLoginApiStatusResponse.Finished(returnUri))); }
private async Task <ActionResult> CollectPending(CollectResponse collectResponse, string statusMessage, BankIdSupportedDevice detectedDevice, BankIdLoginOptions loginOptions) { await _bankIdEventTrigger.TriggerAsync(new BankIdCollectPendingEvent(collectResponse.OrderRef, collectResponse.GetCollectHintCode(), detectedDevice, loginOptions)); return(OkJsonResult(BankIdLoginApiStatusResponse.Pending(statusMessage))); }
private async Task <ActionResult> CollectComplete(BankIdLoginApiStatusRequest request, CollectResponse collectResponse, BankIdSupportedDevice detectedDevice, BankIdLoginOptions loginOptions) { if (collectResponse.CompletionData == null) { throw new ArgumentNullException(nameof(collectResponse.CompletionData)); } if (request.ReturnUrl == null) { throw new ArgumentNullException(nameof(request.ReturnUrl)); } await _bankIdEventTrigger.TriggerAsync(new BankIdCollectCompletedEvent(collectResponse.OrderRef, collectResponse.CompletionData, detectedDevice, loginOptions)); var returnUri = GetSuccessReturnUri(collectResponse.OrderRef, collectResponse.CompletionData.User, request.ReturnUrl); if (!Url.IsLocalUrl(returnUri)) { throw new Exception(BankIdConstants.InvalidReturnUrlErrorMessage); } return(OkJsonResult(BankIdLoginApiStatusResponse.Finished(returnUri))); }
private async Task <ActionResult> CollectFailure(CollectResponse collectResponse, string statusMessage, BankIdSupportedDevice detectedDevice, BankIdLoginOptions loginOptions) { await _bankIdEventTrigger.TriggerAsync(new BankIdCollectFailureEvent(collectResponse.OrderRef, collectResponse.GetCollectHintCode(), detectedDevice, loginOptions)); return(BadRequestJsonResult(new BankIdLoginApiErrorResponse(statusMessage))); }
private ActionResult CollectPending(CollectResponse collectResponse, string statusMessage) { _bankIdEventTrigger.TriggerAsync(new BankIdCollectPendingEvent(collectResponse.OrderRef, collectResponse.GetCollectHintCode())); return(OkJsonResult(BankIdLoginApiStatusResponse.Pending(statusMessage))); }
private ActionResult CollectFailure(CollectResponse collectResponse, string statusMessage) { _bankIdEventTrigger.TriggerAsync(new BankIdCollectFailureEvent(collectResponse.OrderRef, collectResponse.GetCollectHintCode())); return(BadRequestJsonResult(new BankIdLoginApiErrorResponse(statusMessage))); }