The problem with providing python packages like requests-kerberos, gssapi as a rpm package in Toolbox is that the dependencies go deep and it will take lot of effort to port & maintain them. These packages change quickly and new dependencies get in every time we update the version in Toolbox.
So pip install is the way to go here.
Original Message:
Sent: Tue July 05, 2022 10:37 AM
From: Victor Liu
Subject: requests-kerberos for AIX
Thanks Ayappan for the instruction
we are trying to get the prerequisite of gssapi installed.
yes, the original request is for requests-kerberos, but we don't know the dependency is so deep until test it in the code.
hope no need to port any other rpm for AIX.
Best Regards
Victor
------------------------------
Victor Liu
Original Message:
Sent: Mon June 27, 2022 03:13 AM
From: Ayappan P
Subject: requests-kerberos for AIX
I think the original request was to provide request-kerberos through AIX Toolbox.
If gssapi is also needed for this use-case, then you can try to install it with pip.
" python3 -m pip install gssapi ".
You need to have krb5-libs, krb5-devel & gcc rpm packages installed in the machine.
------------------------------
Ayappan P
Original Message:
Sent: Fri June 24, 2022 08:31 AM
From: Victor Liu
Subject: requests-kerberos for AIX
Addtionto gssapi issue. Is krb-config needed and will it solve the issue. Where can we get the package? We have installed all krb related fileset frpm expansion pack but to of no help.
Thanks
Victor
------------------------------
Victor Liu
Original Message:
Sent: Fri June 24, 2022 08:13 AM
From: Victor Liu
Subject: requests-kerberos for AIX
Hi Ayappan
cryptography rpm is reinstalled and seems okay, but got another module missing gssapi
root@:/opt/misc/s3_mercury_api/src #python3 get_ida_token_kerberos_tgt.py
KRB5_CONFIG: /etc/krb5.conf
KRB5CCNAME: /var/sophiakrb/jacob_s3_mercury/cc/krb5cc_jacob_s3_mercury
Traceback (most recent call last):
File "get_ida_token_kerberos_tgt.py", line 22, in <module>
token_request = requests.post(url=adfs_endpoint, data=payload, auth=kerberos_auth)
File "/opt/freeware/lib/python3.7/site-packages/requests/api.py", line 116, in post
return request('post', url, data=data, json=json, **kwargs)
File "/opt/freeware/lib/python3.7/site-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/opt/freeware/lib/python3.7/site-packages/requests/sessions.py", line 519, in request
prep = self.prepare_request(req)
File "/opt/freeware/lib/python3.7/site-packages/requests/sessions.py", line 462, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/opt/freeware/lib/python3.7/site-packages/requests/models.py", line 317, in prepare
self.prepare_auth(auth, url)
File "/opt/freeware/lib/python3.7/site-packages/requests/models.py", line 548, in prepare_auth
r = auth(self)
File "/opt/freeware/lib/python3.7/site-packages/requests_kerberos/kerberos_.py", line 390, in __call__
auth_header = self.generate_request_header(None, host, is_preemptive=True)
File "/opt/freeware/lib/python3.7/site-packages/requests_kerberos/kerberos_.py", line 216, in generate_request_header
protocol="kerberos",
File "/opt/freeware/lib/python3.7/site-packages/spnego/auth.py", line 108, in client
'initiate', **kwargs)
File "/opt/freeware/lib/python3.7/site-packages/spnego/auth.py", line 77, in _new_context
return proxy(username, password, hostname, service, channel_bindings, context_req, usage, proto, options, **kwargs)
File "/opt/freeware/lib/python3.7/site-packages/spnego/_gss.py", line 362, in __init__
raise ImportError("GSSAPIProxy requires the Python gssapi library: %s" % GSSAPI_IMP_ERR)
ImportError: GSSAPIProxy requires the Python gssapi library: No module named 'gssapi'
Could you help test it and make the whole thing easier?
Thanks
Victor
------------------------------
Victor Liu
Original Message:
Sent: Fri June 17, 2022 09:16 AM
From: Ayappan P
Subject: requests-kerberos for AIX
Can you reinstall python3-cryptography rpm and check again.
------------------------------
Ayappan P
Original Message:
Sent: Fri June 17, 2022 09:08 AM
From: Victor Liu
Subject: requests-kerberos for AIX
Hi Ayappan
I got exact error from my code:
root@:/root #python3 -c "import requests_kerberos"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/opt/freeware/lib/python3.7/site-packages/requests_kerberos/__init__.py", line 17, in <module>
from .kerberos_ import HTTPKerberosAuth, REQUIRED, OPTIONAL, DISABLED
File "/opt/freeware/lib/python3.7/site-packages/requests_kerberos/kerberos_.py", line 6, in <module>
import spnego
File "/opt/freeware/lib/python3.7/site-packages/spnego/__init__.py", line 10, in <module>
from spnego.auth import client, server
File "/opt/freeware/lib/python3.7/site-packages/spnego/auth.py", line 7, in <module>
from spnego._credssp import CredSSPProxy
File "/opt/freeware/lib/python3.7/site-packages/spnego/_credssp.py", line 42, in <module>
from spnego.tls import (
File "/opt/freeware/lib/python3.7/site-packages/spnego/tls.py", line 10, in <module>
from cryptography import x509
ModuleNotFoundError: No module named 'cryptography'
What should I do?
------------------------------
Victor Liu
Original Message:
Sent: Fri June 17, 2022 07:00 AM
From: Ayappan P
Subject: requests-kerberos for AIX
Okay. If you are invoking python3 (64bit), then " ModuleNotFoundError: No module named 'cryptography' " error should not come.
Try running the below and check.
python3 -c "import requests_kerberos"
------------------------------
Ayappan P
Original Message:
Sent: Thu June 16, 2022 04:23 PM
From: Victor Liu
Subject: requests-kerberos for AIX
Hi Ayappan
Thanks for replying my message,
I have verified the python3 link, it pointing to /opt/freeware/bin/python3.7m_64. so I am using 64 bit.
root@:/root #which python3
/opt/freeware/bin/python3
root@:/root #ls -l /opt/freeware/bin/python3
lrwxrwxrwx 1 root system 10 Jun 14 16:16 /opt/freeware/bin/python3 -> python3_64
root@:/root #ls -l /opt/freeware/bin/python3_64
lrwxrwxrwx 1 root system 12 Jun 14 16:16 /opt/freeware/bin/python3_64 -> python3.7_64
root@:/root #ls -l /opt/freeware/bin/python3.7_64
lrwxrwxrwx 1 root system 13 Jun 14 16:16 /opt/freeware/bin/python3.7_64 -> python3.7m_64
and I have python3-cryptography installed
root@:/root #rpm -qa | grep crypto
python3-cryptography-3.2.1-1.ppc
------------------------------
Victor Liu
Original Message:
Sent: Thu June 16, 2022 08:56 AM
From: Ayappan P
Subject: requests-kerberos for AIX
Looks like you are using python3_32 (32bit). Is there any specific reason for you using 32bit python3 instead of the default 64bit python3 ?
I see Toolbox python3-cryptography is built only in 64bit mode.
------------------------------
Ayappan P
Original Message:
Sent: Wed June 15, 2022 03:20 PM
From: Victor Liu
Subject: requests-kerberos for AIX
hi Reshma Kumar
I am able to install it on AIX 7.2 with python3 upgraded to 3.7.12 along with couple of other RPM updates.
now, I am having problem to use it, it keep throwing the module not found
Traceback (most recent call last):
File "get_ida_token_kerberos_tgt.py", line 3, in <module>
import requests_kerberos
File "/opt/freeware/lib/python3.7/site-packages/requests_kerberos/__init__.py", line 17, in <module>
from .kerberos_ import HTTPKerberosAuth, REQUIRED, OPTIONAL, DISABLED
File "/opt/freeware/lib/python3.7/site-packages/requests_kerberos/kerberos_.py", line 6, in <module>
import spnego
File "/opt/freeware/lib/python3.7/site-packages/spnego/__init__.py", line 10, in <module>
from spnego.auth import client, server
File "/opt/freeware/lib/python3.7/site-packages/spnego/auth.py", line 7, in <module>
from spnego._credssp import CredSSPProxy
File "/opt/freeware/lib/python3.7/site-packages/spnego/_credssp.py", line 42, in <module>
from spnego.tls import (
File "/opt/freeware/lib/python3.7/site-packages/spnego/tls.py", line 10, in <module>
from cryptography import x509
ModuleNotFoundError: No module named 'cryptography'
My code sample is like below:
import requests
import requests_kerberos
payload = {'client_id': myclientid,
'resource': mysource,
'grant_type': 'client_credentials',
'use_windows_client_authentication': 'true'}
kerberos_auth = requests_kerberos.HTTPKerberosAuth(mutual_authentication=requests_kerberos.OPTIONAL, force_preemptive=True)
adfs_endpoint = 'https://myurl'
token_request = requests.post(url=adfs_endpoint, data=payload, auth=kerberos_auth)
print(token_request.json())
access_token = token_request.json().get('access_token')
print(access_token)
Could you help troubleshoot this? much appreciate
------------------------------
Victor Liu
Original Message:
Sent: Mon February 14, 2022 08:01 AM
From: RESHMA KUMAR
Subject: requests-kerberos for AIX
We have published requests-kerberos in AIX toolbox.
https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/noarch/python3-requests-kerberos/
------------------------------
RESHMA KUMAR
Original Message:
Sent: Tue February 08, 2022 10:33 AM
From: Victor Liu
Subject: requests-kerberos for AIX
Hi Sanket
Is the package published?
------------------------------
Victor Liu
Original Message:
Sent: Tue January 11, 2022 11:12 AM
From: SANKET RATHI
Subject: requests-kerberos for AIX
Hi Victor,
A very happy new year to you too.
We should be able to publish the package in couple of weeks.
------------------------------
SANKET RATHI
Original Message:
Sent: Mon January 10, 2022 11:25 AM
From: Victor Liu
Subject: requests-kerberos for AIX
Hi Sanket
Happy New Year
any update about requests-kerberos for AIX?
------------------------------
Victor Liu
Original Message:
Sent: Tue December 07, 2021 08:04 AM
From: SANKET RATHI
Subject: requests-kerberos for AIX
Hi Victor,
Out porting is going well and I think we should be able to publish the package next month.
------------------------------
SANKET RATHI
Original Message:
Sent: Mon December 06, 2021 09:52 AM
From: Victor Liu
Subject: requests-kerberos for AIX
Hi Sanket
hope you are doing well, I just kindly follow up with the requests-kerberos package on AIX. how is the porting going? any obstacle or delay?
Thanks for sharing any update
Victor
------------------------------
Victor Liu
Original Message:
Sent: Mon November 01, 2021 10:01 AM
From: Victor Liu
Subject: requests-kerberos for AIX
Thanks Sanket, I will follow up in December
------------------------------
Victor Liu
Original Message:
Sent: Mon November 01, 2021 03:35 AM
From: SANKET RATHI
Subject: requests-kerberos for AIX
Hi Victor,
If we will be successful in port using workaround then by end of this quarter or early next year we should be able to publish.
But if we will find non trivial issues then it may take more time.
------------------------------
SANKET RATHI
Original Message:
Sent: Thu October 28, 2021 11:04 AM
From: Victor Liu
Subject: requests-kerberos for AIX
Thank you so much Sanket
that would great if IBM can make requests-kerberos available in AIX toolbox
do you have any date for timeline to share?
------------------------------
Victor Liu
Original Message:
Sent: Tue October 26, 2021 02:51 PM
From: SANKET RATHI
Subject: requests-kerberos for AIX
Thank you Victor for other pointers.
We will add this package into our future list of packages and try to make it available from AIX toolbox.
------------------------------
SANKET RATHI
Original Message:
Sent: Mon October 25, 2021 01:11 PM
From: Victor Liu
Subject: requests-kerberos for AIX
hi Sanket
Thank so much for look into this,
That is exactly the block is.
For the moment, I am using curl 7.13 as alternates, and I have to call curl from python code. and I am seeing some blocker from curl dependency that may not allowed to be installed in production... it could be a dead end eventually unless I got requests-kerberos.
I would prefer IBM can port requests-kerberos to AIX by making mempcpy and asprintf available...
With that, it will significantly help accelerate code development in AIX.
from open source community, I found GSSAPI that seems the low lever API of requests-kerberos, but I am not able to figure out how to use it...
in my scenario, I have a pushed credential file (Ticket Granting Ticket) on AIX box to use for authentication to get token.
If there is any code sample regarding how to use GSSAPI based on my scenario, I may able to skip requests-kerberos.
But porting requests-kerberos still have huge value... highly recommend IBM developer engaged for it.
Thanks
Victor
------------------------------
Victor Liu
Original Message:
Sent: Fri October 22, 2021 11:15 AM
From: SANKET RATHI
Subject: requests-kerberos for AIX
Hi Victor,
I looked at request-kerberos and it is failing because a dependency pykerberos needs some APIs (mempcpy and asprintf) those are not available on AIX.
These APIs are part of gnu libc and not available in AIX libc.
To make request-kerberos available on AIX we will have to patch request-kerberos to either use alternate or make mempcpy and asprintf available.
Is there any alternate you have for request-kerberos ?
------------------------------
SANKET RATHI
Original Message:
Sent: Wed October 20, 2021 12:19 PM
From: Victor Liu
Subject: requests-kerberos for AIX
hi Team
request-kerberos is the python module that is very widely used in in open source community.
It can be installed from pip. but unfortunately, there is no working version for AIX.
could IBM developer help port this module to AIX environment?
------------------------------
Victor Liu
------------------------------