| | |
| | | var jwt_header_ = new buffer.Buffer(strs_[0].toString('base64'), 'base64').toString(); |
| | | var jwt_payload_ = new buffer.Buffer(strs_[1].toString('base64'), 'base64').toString(); |
| | | var hash = CryptoJS.HmacSHA256(strs_[0] + '.' + strs_[1], "sxyd"); |
| | | var hashInBase64 = CryptoJS.enc.Base64.stringify(hash); |
| | | var hashInBase64 = base64UrlEncode(hash); |
| | | var reg = RegExp(strs_[2]); |
| | | if (!reg.exec(hashInBase64)) { |
| | | // verification failed, go back |
| | |
| | | mars3d.widget.disableAll(); |
| | | map.flyHome(); |
| | | } |
| | | |
| | | function base64UrlEncode(str) { |
| | | var encodedSource = CryptoJS.enc.Base64.stringify(str); |
| | | var reg = new RegExp('/', 'g'); |
| | | encodedSource = encodedSource.replace(/=+$/,'').replace(/\+/g,'-').replace(reg,'_'); |
| | | return encodedSource; |
| | | } |