PageSourceSearch

https://ale.babonline.se/js/bank-id.js

js babonline.se collected 2026-09-29 03:01:26 UTC 4,431 bytes, 140 lines download raw bytes

1var bankID = {
2    initialize: (qrCodeDivElement, qrCodeElement, bankIDPaDennaEnhetElement, felDivElement, dotNetHelper) => {
3
4        var orderRef;
5        var autoStartToken;
6        var qrStartToken;
7        var qrStartSecret;
8
9        var nonce;
10
11        var qrTimer;
12        var avbrytCollect = false;
13
14        var t = 0;
15
16        function Sign(message, messageNonVisible) {
17
18            $.getJSON("/bank-id-sign", { message: message, messageNonVisible: messageNonVisible }, function (result) {
19                orderRef = result.orderRef;
20                autoStartToken = result.autoStartToken;
21                qrStartToken = result.qrStartToken;
22                qrStartSecret = result.qrStartSecret;
23
24                t = 0;
25
26                $(qrCodeDivElement).show();
27                $(felDivElement).hide();
28
29                GetQRCode();
30
31                qrTimer = setInterval(GetQRCode, 1000);
32
33                avbrytCollect = false;
34
35                setTimeout(Collect, 2000);
36
37                var iOS = (navigator.userAgent.toLowerCase().includes("iphone")
38                    || navigator.userAgent.toLowerCase().includes("ipad")
39                    || navigator.userAgent.toLowerCase().includes("ipod"));
40
41                if (iOS) {
42                    $(bankIDPaDennaEnhetElement).attr("href", "https://app.bankid.com/?autostarttoken=" + autoStartToken + "&redirect=null");
43                }
44                else {
45                    $(bankIDPaDennaEnhetElement).attr("href", "bankid:///?autostarttoken=" + autoStartToken + "&redirect=null");
46                }
47            });
48        }
49
50        function GetQRCode() {
51
52            $.getJSON("/bank-id-get-qr-code",
53                {
54                    qrStartToken: qrStartToken,
55                    qrStartSecret: qrStartSecret,
56                    t: t
57                },
58                function (result) {
59                    var qrCode = new QRCode({
60                        dim: 200,
61                        msg: result.bankIDQRCode,
62                        pad: 4,
63
64                        pal: ["#193E4F", "#FFFFFF"]
65                    });
66
67                    $(qrCodeElement).html(qrCode);
68
69                    t++;
70                });
71        }
72
73        function GetOrderRef() {
74
75            $.getJSON("/bank-id-get-order-ref", { nonce: nonce }, function (result) {
76                orderRef = result.orderRef;
77
78                Collect();
79            });
80        }
81
82        function Collect() {
83
84            $.ajax
85                ({
86                    type: "POST",
87                    async: false,
88                    cache: false,
89                    timeout: 30000,
90                    url: "/bank-id-collect",
91                    dataType: "json",
92                    data: { orderRef: orderRef },
93                    success: function (result) {
94                        if (result.Status == 'pending') {
95                            if (!avbrytCollect) {
96                                setTimeout(Collect, 2000);
97                            }
98                        }
99                        else if (result.Status == 'complete') {
100                            clearInterval(qrTimer);
101
102                            dotNetHelper.invokeMethodAsync('SignComplete', result);
103                        }
104                        else {
105                            console.log(result.Status);
106                            console.log(result.HintCode);
107
108                            $(qrCodeDivElement).hide();
109                            $(felDivElement).show();
110                        }
111                    },
112                });
113        }
114
115        return {
116            start: (message, messageNonVisible) => {
117                var locationArr = window.location.href.split("#")
118
119                if (locationArr.length > 1) {
120                    var nonceArr = locationArr[1].split("=");
121
122                    if (nonceArr.length > 1) {
123                        nonce = nonceArr[1];
124                    }
125                }
126
127                if (!nonce) {
128                    Sign(message, messageNonVisible);
129                }
130                else {
131                    GetOrderRef();
132                }
133            },
134            cancel: () => {
135                clearInterval(qrTimer);
136            }
137
138        }
139    }
140}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.