由dci-control-server和python-dciclient使用的DCI认证模块
项目描述
python-dciauth
由dci-control-server和python-dciclient使用的DCI认证模块
本节展示了用python编写的示例程序,说明如何使用DCI的签名版本2。dciauth使用的算法与AWS的签名版本4相同。
认证示例
GET
import requests
from dciauth.v2.headers import generate_headers
headers = generate_headers(
    {"endpoint": "/api/v1/jobs"},
    {"access_key": "remoteci/client_id", "secret_key": "secret"},
)
requests.get("http://api.distributed-ci.io/api/v1/jobs", headers=headers)
POST
import requests
from dciauth.v2.headers import generate_headers
data = {"name": "user 1"}
headers = generate_headers(
    {
        "method": "POST",
        "endpoint": "http://api.distributed-ci.io/api/v1/users",
        "data": data,
    },
    {"access_key": "remoteci/client_id", "secret_key": "secret"},
)
requests.post("http://api.distributed-ci.io/api/v1/users", headers=headers, json=data)
验证示例
    from flask import request
    from dciauth.v2.headers import parse_headers
    from dciauth.v2.signature import is_valid
    valid, error_message = is_valid(
        {
            "method": request.method,
            "endpoint": request.path,
            "data": request.data,
            "params": request.args.to_dict(flat=True),
        },
        {"secret_key": "secret"},
        parse_headers(request.headers),
    )
    if not valid:
        raise Exception("Authentication failed: %s" % error_message)
使用POSTMAN
如果您正在使用POSTMAN来发现DCI API,您可以使用以下参数与AWS签名授权头一起使用
GET https://api.distributed-ci.io/api/v1/identity
AccessKey=<DCI_CLIENT_ID>
SecretKey=<DCI_API_SECRET>
AWS Region="BHS3"
Service Name="api"
许可证
Apache 2.0
作者信息
Distributed-CI团队 distributed-ci@redhat.com
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
         dciauth-3.0.2.post202311101437.tar.gz  (11.5 kB 查看哈希值)
      
    构建分布
    
       关闭
    
      
        
    
    
  
dciauth-3.0.2.post202311101437.tar.gz的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 8ef7b423fac995d691760e184ea3d93eedc88cb1df7dbdee8410eaef35a3ce1a | |
| MD5 | 143ff7a43ce25e915dbd0fa232e6c868 | |
| BLAKE2b-256 | 3752bee7deaf8cf8daf0293ee1bd5e43fcfb21c5dc37038c2ed29cc8f8cb4bba | 
    
       关闭
    
      
        
    
    
  
dciauth-3.0.2.post202311101437-py3-none-any.whl的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 4af0f89375a283166546edcb72210e9447e7b9364c3bff7a602eb471493542f5 | |
| MD5 | b608a71c5f45ac77ad922ae697983f78 | |
| BLAKE2b-256 | 515e7f0b74fa9368be61884b14f2d1e9037f39564a0e54f384fc70bc48d051df |