api de gestion de ticket, basé sur php-crud-api. Le but est de décorrélé les outils de gestion des données, afin
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

vanilla-success.html 3.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Success</title>
  8. <script src="https://www.gstatic.com/firebasejs/6.0.2/firebase-app.js"></script>
  9. <script src="https://www.gstatic.com/firebasejs/6.0.2/firebase-auth.js"></script>
  10. <script>
  11. // Your web app's Firebase configuration
  12. var firebaseConfig = {
  13. apiKey: "",
  14. authDomain: "",
  15. databaseURL: "",
  16. projectId: "",
  17. storageBucket: "",
  18. messagingSenderId: "",
  19. appId: ""
  20. };
  21. // Initialize Firebase
  22. firebase.initializeApp(firebaseConfig);
  23. </script>
  24. <script>
  25. var url = '/api.php/records/posts?join=categories&join=tags&join=comments&filter=id,eq,1';
  26. function requestAPI(accessToken) {
  27. var req = new XMLHttpRequest();
  28. req.onreadystatechange = function () {
  29. if (req.readyState == 4) {
  30. try {
  31. document.getElementById('output').innerHTML = JSON.stringify(JSON.parse(req.responseText),
  32. undefined, 4);
  33. } catch (error) {
  34. document.getElementById('output').innerHTML = req.responseText;
  35. }
  36. }
  37. }
  38. req.open("GET", url, true);
  39. req.setRequestHeader('X-Authorization', 'Bearer ' + accessToken);
  40. req.send();
  41. }
  42. function initApp() {
  43. firebase.auth().onAuthStateChanged(function (user) {
  44. if (user) {
  45. // User is signed in.
  46. var displayName = user.displayName;
  47. var email = user.email;
  48. var emailVerified = user.emailVerified;
  49. var photoURL = user.photoURL;
  50. var uid = user.uid;
  51. var phoneNumber = user.phoneNumber;
  52. var providerData = user.providerData;
  53. user.getIdToken().then(function (accessToken) {
  54. document.getElementById('sign-in-status').textContent = 'Signed in';
  55. document.getElementById('account-details').textContent = JSON.stringify({
  56. displayName: displayName,
  57. email: email,
  58. emailVerified: emailVerified,
  59. phoneNumber: phoneNumber,
  60. photoURL: photoURL,
  61. uid: uid,
  62. accessToken: accessToken,
  63. providerData: providerData
  64. }, undefined, 4);
  65. requestAPI(accessToken)
  66. });
  67. } else {
  68. // User is signed out.
  69. document.getElementById('sign-in-status').textContent = 'Signed out';
  70. document.getElementById('account-details').textContent = 'null';
  71. }
  72. }, function (error) {
  73. console.log(error);
  74. });
  75. };
  76. window.addEventListener('load', initApp);
  77. </script>
  78. </head>
  79. <body>
  80. <h1>Firebase Login Success (or not)</h1>
  81. <div id="sign-in-status"></div>
  82. <pre id="account-details"></pre>
  83. <pre id="output"></pre>
  84. </body>
  85. </html>