コード例 #1
0
        private BankIdLaunchInfo GetBankIdLaunchInfo(BankIdLoginApiInitializeRequest request, AuthResponse authResponse)
        {
            var returnRedirectUri = GetAbsoluteUrl(Url.Action("Login", "BankId", new
            {
                returnUrl    = request.ReturnUrl,
                loginOptions = request.LoginOptions
            }));
            var launchUrlRequest = new LaunchUrlRequest(returnRedirectUri, authResponse.AutoStartToken);

            return(_bankIdLauncher.GetLaunchInfo(launchUrlRequest, HttpContext));
        }
コード例 #2
0
        private string GetBankIdRedirectUri(BankIdLoginApiInitializeRequest request, string protectedOrderRef, AuthResponse authResponse, BankIdSupportedDevice detectedDevice)
        {
            var returnRedirectUri = GetAbsoluteUrl(Url.Action(nameof(BankIdController.Login), "BankId", new
            {
                returnUrl    = request.ReturnUrl,
                loginOptions = request.LoginOptions
            }));
            var launchUrlRequest  = new LaunchUrlRequest(returnRedirectUri, authResponse.AutoStartToken);
            var bankIdRedirectUri = _bankIdLauncher.GetLaunchUrl(detectedDevice, launchUrlRequest);

            return(bankIdRedirectUri);
        }
コード例 #3
0
        public IActionResult Info(string userAgent, string redirectUrl, string autoStartToken, string?relyingPartyReference)
        {
            if (string.IsNullOrEmpty(userAgent))
            {
                userAgent = HttpContext.Request.Headers[UserAgentHttpHeaderName];
            }

            if (string.IsNullOrEmpty(redirectUrl))
            {
                redirectUrl = HttpContext.Request.GetUri().ToString();
            }

            if (string.IsNullOrEmpty(autoStartToken))
            {
                autoStartToken = Guid.NewGuid().ToString();
            }

            var launchRequest = new LaunchUrlRequest(redirectUrl, autoStartToken);

            if (!string.IsNullOrEmpty(relyingPartyReference))
            {
                launchRequest = new LaunchUrlRequest(redirectUrl, autoStartToken, relyingPartyReference);
            }


            var httpContext = HttpContext;

            httpContext.Request.Headers[UserAgentHttpHeaderName] = userAgent;

            var detectedDevice = _bankIdDeviceDetector.Detect(userAgent);
            var launchInfo     = _bankIdLauncher.GetLaunchInfo(launchRequest, httpContext);

            var viewModel = new DebuggerInfoViewModel
            {
                UserAgent = userAgent,

                LaunchUrlRequest = launchRequest,

                DetectedDevice = detectedDevice,
                DetectedDeviceImplementation = _bankIdDeviceDetector.GetType().FullName ?? string.Empty,

                DetectedDeviceLaunchInfo = launchInfo,
                DetectedDeviceLaunchInfoImplementation = _bankIdLauncher.GetType().FullName ?? string.Empty
            };

            return(View(viewModel));
        }
コード例 #4
0
 public string GetLaunchUrl(BankIdSupportedDevice device, LaunchUrlRequest request)
 {
     return(request.RedirectUrl);
 }
コード例 #5
0
 public BankIdLaunchInfo GetLaunchInfo(LaunchUrlRequest request, HttpContext httpContext)
 {
     // Always redirect back without user interaction in simulated mode
     return(new BankIdLaunchInfo(request.RedirectUrl, false, false));
 }