Fix shibboleth login for moodle.
This commit is contained in:
13
tudown.py
Normal file → Executable file
13
tudown.py
Normal file → Executable file
@@ -67,7 +67,7 @@ def get_links_from_folder(session, urls):
|
|||||||
for url in urls:
|
for url in urls:
|
||||||
response = session.get(url)
|
response = session.get(url)
|
||||||
hrefs += findall(compile(
|
hrefs += findall(compile(
|
||||||
'https\:\/\/www\.moodle\.tum\.de\/pluginfile\.php\/\d{6}\/mod_folder\/content\/0\/(?:[\w\d\_\-]*\/)*[\w\d\_\-\.]{1,}'),
|
'https\:\/\/www\.moodle\.tum\.de\/pluginfile\.php\/\d+\/mod_folder\/content\/0\/(?:[\w\d\_\-]*\/)*[\w\d\_\-\.]+'),
|
||||||
response.text)
|
response.text)
|
||||||
return hrefs
|
return hrefs
|
||||||
|
|
||||||
@@ -90,6 +90,8 @@ def get_file_links(session, url, files):
|
|||||||
|
|
||||||
# ---------------
|
# ---------------
|
||||||
|
|
||||||
|
url = url.replace('index.html.en','').replace('index.html.de','')
|
||||||
|
|
||||||
for f in files:
|
for f in files:
|
||||||
reg = compile(f[0])
|
reg = compile(f[0])
|
||||||
for href in hrefs:
|
for href in hrefs:
|
||||||
@@ -99,16 +101,16 @@ def get_file_links(session, url, files):
|
|||||||
links.append((url + href, f[1]))
|
links.append((url + href, f[1]))
|
||||||
else:
|
else:
|
||||||
links.append((href, f[1]))
|
links.append((href, f[1]))
|
||||||
|
|
||||||
return links
|
return links
|
||||||
|
|
||||||
|
|
||||||
def establish_moodle_session(user, passwd):
|
def establish_moodle_session(user, passwd):
|
||||||
session = Session()
|
session = Session()
|
||||||
|
|
||||||
session.get(
|
response = session.get('https://www.moodle.tum.de')
|
||||||
'https://www.moodle.tum.de/Shibboleth.sso/Login?providerId=https://tumidp.lrz.de/idp/shibboleth&target=https://www.moodle.tum.de/auth/shibboleth/index.php')
|
response = session.get('https://www.moodle.tum.de/Shibboleth.sso/Login?providerId=https://tumidp.lrz.de/idp/shibboleth&target=https://www.moodle.tum.de/auth/shibboleth/index.php')
|
||||||
response = session.post('https://tumidp.lrz.de/idp/Authn/UserPassword',
|
response = session.post('https://tumidp.lrz.de/idp/profile/SAML2/Redirect/SSO?execution=e1s1', data={'j_username': user, 'j_password': passwd, '_eventId_proceed':''})
|
||||||
data={'j_username': user, 'j_password': passwd})
|
|
||||||
|
|
||||||
parsed = html.fromstring(response.text)
|
parsed = html.fromstring(response.text)
|
||||||
|
|
||||||
@@ -118,7 +120,6 @@ def establish_moodle_session(user, passwd):
|
|||||||
|
|
||||||
return session
|
return session
|
||||||
|
|
||||||
|
|
||||||
def main(url, files, user='', passwd=''):
|
def main(url, files, user='', passwd=''):
|
||||||
# create session
|
# create session
|
||||||
if 'www.moodle.tum.de' in url:
|
if 'www.moodle.tum.de' in url:
|
||||||
|
|||||||
Reference in New Issue
Block a user