как использовать python для входа в GitLab через LDAP? (с версией ce-8.1.4)

# #gitlab #ldap #python-gitlab

Вопрос:

Мой код приведен ниже:

 domain = "https://git.mydomian.com"
SIGN_IN_URL = '{domain}/users/sign_in'.format(domain=domain)
LOGIN_URL = '{domain}/users/auth/ldapmain/callback'.format(domain=domain)

session = requests.Session()
session.verify = False
sign_in_page = session.get(SIGN_IN_URL).text
soup = BeautifulSoup(sign_in_page, 'html.parser')
token = soup.find_all('input')[1]['value']

ua = UserAgent()
headers = {'User-Agent': str(ua.chrome)}
payload = {'username': "myusername(forLDAP)",
           'password': "mypassword(forLDAP)",
           'authenticity_token': token}
response = session.post(LOGIN_URL, data=payload, headers=headers)
print(response.text)
if response.status_code != 200:
    print('Failed to log in')
    sys.exit(1)


gl = gitlab.Gitlab(domain, ssl_verify=False, session=session)
gl.projects.list()
 

В ответе показана страница входа, но в gl нет данных, нет проектов…

Может ли кто-нибудь помочь мне с этим QQ, thx

Ответ №1:

Я переключаю версию python-gitlab с 2.6 на 1.4, тогда это работает…

(Не забудьте добавить параметр api_version)