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”。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓中的java标签长点击问题   JavaSpringMVC多行表单提交提交新的ModelAttribute   程序来查找java程序中的方法数   在JSF中自动选择java下拉列表   java onNext为ArrayList的每个元素触发,而不是使用RXJava触发一次   为什么java不允许创建内部类的实例?   JavaJSF<p:calendar>小部件在选择不同月份时不会刷新   java如何限制JFileChooser只允许选择特定数量的文件?   java ANT build无法识别geckodriver可执行文件“驱动程序可执行文件不存在”   java TextView空指针异常   java试图在安卓中传递参数   如何将XML配置转换为Java   java支持使用JAXRPC的soap服务,但pom中没有定义它。xml   在Java中检查整个ArrayList