未提供项目描述
项目描述
globus身份映射器
《globus身份映射器》Python库提供了两个映射类,它们实现了将globus Auth Identity资源映射到应用程序或上下文特定用户名的可配置钩子
ExpressionIdentityMapping
ExternalIdentityMapping
此外,该库还提供了一个实现自定义身份映射逻辑的协议
IdentityMappingProtocol
大多数此库的使用者将使用映射配置文档,通过.from_mapping_document()
方法实例化适当的类,然后调用.map_identity()
或.map_identities()
。这使管理员可以动态指定他们所需的映射配置,而无需编写Python代码。例如,一个简单的映射配置,使用ExpressionIdentityMapping
逻辑,遵循在globus连接服务器,身份映射中记录的规则,可能是
{
"DATA_TYPE": "expression_identity_mapping#1.0.0",
"mappings": [
{
"source": "{email}", "match": "(.*)@example\\.org", "output": "{0}"
}
]
}
硬编码的类实例化可能如下所示
>>> import json
>>> from globus_identity_mapping import ExpressionIdentityMapping
>>> fdata = open("example_configuration.json").read()
>>> mapping_document = json.loads(fdata)
>>> connector_id = "..." # see the Identity Mapping Guide, linked above
>>> storage_gateway = "application-specific-identifier"
>>> mapper = ExpressionIdentityMapping.from_mapping_document(
... mapping_document, storage_gateway=storage_gateway, connector_id=connector_id
... )
之后,可以使用mapper
通过正则表达式逻辑将来自globus Auth Identity记录的email
的源字段映射,以找到上下文感知的用户名。(在上面的示例中,主机名被剥离以确定特定于应用程序的用户名。)示例
>>> gair = {"id": "...", "sub": "...", "email": "billy@example.org", "name": "..."}
>>> mapper.map_identity(gair)
'billy'
对于更严重的库使用,实现者可能需要查看globus_identity_mapping.loader.load_mappers
开发
高级功能
- 使用Poetry (
pyproject.toml
) - 使用tox
tox
- 足以运行所有测试tox -e mypy
以运行mypy
- 首次检出时安装
pre-commit
的提醒:pre-commit --install
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
globus_identity_mapping-0.3.0.tar.gz (21.3 kB 查看哈希值)
构建分发
关闭
globus_identity_mapping-0.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6b5981bd991e5dc52b6dd8ac95463e07db26068117713cce724abd61357d76e7 |
|
MD5 | dfcdd22f1549442e5450f42d47179955 |
|
BLAKE2b-256 | c14c7b76ee7076a9bd00cacc018e1f428069574108e9bcac13c2766995543c57 |
关闭
globus_identity_mapping-0.3.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 336f1da95ea15d8cb9c575b7c3ecb89ad019a4766f16d3c8e81ec8f921f14c17 |
|
MD5 | 665af64c7f9ce1c921d528dcdb7bea12 |
|
BLAKE2b-256 | 920e6b28699d5553bb4e875e1d632d9a6b6b12e8758bb3c4bd1f91ed3e651775 |