TAU-Moodle auto login

An automatic login script for TAU moodle.

  1. // ==UserScript==
  2. // @name TAU-Moodle auto login
  3. // @name:he כניסה אוטומטית למודל
  4. // @namespace http://tampermonkey.net/
  5. // @version 0.5
  6. // @description An automatic login script for TAU moodle.
  7. // @description:he מאפשר להכנס למודל של תל אביב מהר
  8. // @author Ofir Kedem & Guy Morag
  9. // @include https://nidp.tau.ac.il/*
  10. // @match https://moodle.tau.ac.il/my/
  11. // @match https://moodle.tau.ac.il/
  12. // @match https://moodle.tau.ac.il/mod/resource/*
  13. // @grant none
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. 'use strict';
  18.  
  19. var loginDetails = {
  20. userName: "",
  21. idNumber: "123456789",
  22. password: "",
  23. }
  24.  
  25. function login(){
  26. document.querySelector("input#Ecom_User_ID").value = loginDetails.userName;
  27. document.querySelector("input#Ecom_User_Pid").value = loginDetails.idNumber;
  28. document.querySelector("input#Ecom_Password").value = loginDetails.password;
  29.  
  30. setTimeout(clickLoginButton, 200);
  31. }
  32.  
  33. function clickLoginButton(){
  34. document.querySelector("button#loginButton2").click()
  35. }
  36.  
  37. function isLoggedIn() {
  38. return document.getElementsByClassName('usertext').length > 0
  39. }
  40.  
  41. function redirectToLogin() {
  42. window.location.href = 'https://moodle.tau.ac.il/login/index.php';
  43. }
  44.  
  45. var host = window.location.host;
  46.  
  47. if (host == "moodle.tau.ac.il") {
  48. if (!isLoggedIn()) {
  49. // login if needed
  50. redirectToLogin();
  51. } else {
  52. // do other things when logged in
  53. if (window.location.pathname == "/mod/resource/view.php") {
  54. // click on link to document
  55. document.querySelector("div.resourceworkaround a").click()
  56. window.close()
  57. }
  58. }
  59. } else if (host == "nidp.tau.ac.il") {
  60. window.addEventListener('load', (event) => {
  61. // wait for 'load' to allow reacting faster without setTimeOut
  62. login()
  63. });
  64. }
  65.  
  66. })();