CERN单点登录驱动程序
python-cern-sso-krb的Python项目详细描述
这是perl脚本作为python库的重新实现。另外,还提供了一个shell客户端,它重新实现了“cern get sso cookie”的功能。_ cern-get-sso-cookie:https://github.com/sashabaranov/cern get-sso-cookie/
但是应该与python 2.7和3兼容。
两者都采用可选的cookiejar(可以是请求
``cookiejar``,也可以是在
操作期间填充的``mozillacookiejar``)。在任何情况下,两个
函数都返回一个cookie jar。
返回的cookie jar可以直接用作请求'
``cookies`
代码:python
import cern_sso
import requests
perform request
r1=requests.get(my_url,cookies=cookies)
已经针对kerberos对
进行了身份验证。
代码::python
import cern_sso
import requests
cert_file=“/home/albin/mycert.pem”
key_file=“/home/albin/mycert.key”
cookies=cern_sso.cert_sign_on(my_url,cert_file=cert_file,
密钥文件=密钥文件
有关
此操作的详细信息,请参见以下命令行用法部分。
有关如何使用外部Cookiejar的示例,请参见
``bin/cern get sso cookie.py`。
python实现将根据所需的url进行身份验证,并返回适用于curl或wget的mozilla cookie文件。
代码::sh
$kinit me@cern.ch
<;输入密码>;
代码::sh
$cern-get-sso-cookie.py--url https://cerntraining.service-now.com--kerberos
cookies.txt现在包含相关的会话cookies
$curl-l--cookies.txt--cookie jar cookies.txt--h'接受:应用程序/json'“https://cerntraining.service now.com/api/now/v1/table/incident”
本着Unix哲学的精神,``cern get sso cookie.py``不会输出成功信息。如果您不喜欢,请尝试`--verbose``甚至`--debug``!
要针对ssl证书(和密钥)进行身份验证,首先需要
处理证书文件以删除密码并将
密钥和证书分开:
。代码::sh
$openssl pkcs12-clcerts-nokeys-in mycert.p12-out mycert.pem
$openssl pkcs12-nocerts-in mycert.p12-out mycert.tmp.key
$openssl rsa-in mycert.tmp.key-out mycert.key
同一个文件夹,并且密钥的文件
以“.key”结尾,而证书是“.pem”。在上面的例子中,使用了base
name``mycert`.
要获取SSO cookie,请执行以下操作:
…代码::sh
$cern-get-sso-cookie.py--url https://cerntraining.service-now.com--cert mycert
>有关用法的详细说明,请参见“cern-get-sso-cookie.py--help”。
但是应该与python 2.7和3兼容。
两者都采用可选的cookiejar(可以是请求
``cookiejar``,也可以是在
操作期间填充的``mozillacookiejar``)。在任何情况下,两个
函数都返回一个cookie jar。
返回的cookie jar可以直接用作请求'
``cookies`
代码:python
import cern_sso
import requests
perform request
r1=requests.get(my_url,cookies=cookies)
已经针对kerberos对
进行了身份验证。
代码::python
import cern_sso
import requests
key_file=“/home/albin/mycert.key”
cookies=cern_sso.cert_sign_on(my_url,cert_file=cert_file,
密钥文件=密钥文件
有关
此操作的详细信息,请参见以下命令行用法部分。
有关如何使用外部Cookiejar的示例,请参见
``bin/cern get sso cookie.py`。
python实现将根据所需的url进行身份验证,并返回适用于curl或wget的mozilla cookie文件。
代码::sh
$kinit me@cern.ch
<;输入密码>;
代码::sh
$cern-get-sso-cookie.py--url https://cerntraining.service-now.com--kerberos
cookies.txt现在包含相关的会话cookies
$curl-l--cookies.txt--cookie jar cookies.txt--h'接受:应用程序/json'“https://cerntraining.service now.com/api/now/v1/table/incident”
本着Unix哲学的精神,``cern get sso cookie.py``不会输出成功信息。如果您不喜欢,请尝试`--verbose``甚至`--debug``!
要针对ssl证书(和密钥)进行身份验证,首先需要
处理证书文件以删除密码并将
密钥和证书分开:
。代码::sh
$openssl pkcs12-clcerts-nokeys-in mycert.p12-out mycert.pem
$openssl pkcs12-nocerts-in mycert.p12-out mycert.tmp.key
$openssl rsa-in mycert.tmp.key-out mycert.key
同一个文件夹,并且密钥的文件
以“.key”结尾,而证书是“.pem”。在上面的例子中,使用了base
name``mycert`.
要获取SSO cookie,请执行以下操作:
…代码::sh
$cern-get-sso-cookie.py--url https://cerntraining.service-now.com--cert mycert
>有关用法的详细说明,请参见“cern-get-sso-cookie.py--help”。