Index: remoting/webapp/remoting.js |
diff --git a/remoting/webapp/remoting.js b/remoting/webapp/remoting.js |
index c487fa1a666bad14a1ac285d72c4be1186b94216..6a4823462d6754958f79c011d85b1923a7df076d 100644 |
--- a/remoting/webapp/remoting.js |
+++ b/remoting/webapp/remoting.js |
@@ -356,3 +356,14 @@ function isWindowed_(callback) { |
console.error('chome.tabs is not available.'); |
} |
} |
+ |
+/** |
+ * Generate a nonce, to be used as an xsrf protection token. |
+ * |
+ * @return {string} A URL-Safe Base64-encoded 128-bit random value. */ |
+remoting.generateXsrfToken = function() { |
+ var random = new Uint8Array(16); |
+ window.crypto.getRandomValues(random); |
+ var base64Token = window.btoa(String.fromCharCode.apply(null, random)); |
+ return base64Token.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, ''); |
+}; |