跳转到主要内容

使用pydantic进行SCIM2模型序列化和验证

项目描述

scim2-models

Pydantic models for SCIM schemas defined in RFC7643 and RFC7644.

此库提供了解析和生成 SCIM2 有效载荷的实用工具,并使用原生 Python 对象处理它们。它旨在用作构建 SCIM2 服务器和客户端的基础。

那么 SCIM 是什么呢?

SCIM 代表跨领域身份管理系统(System for Cross-domain Identity Management),它是一种配置协议。配置是指跨不同服务管理一组资源(通常是用户和组)的行为。SCIM 常用于身份提供者(IdP)和应用程序之间,以完成 OAuth2 和 OpenID Connect 等标准。它允许用户和组在应用程序之间同步创建、修改和删除。

安装

pip install scim2-models

用法

请参阅教程参考以获取更多详细信息。

from scim2_models import User
import datetime

payload = {
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
    "id": "2819c223-7f76-453a-919d-413861904646",
    "userName": "bjensen@example.com",
    "meta": {
        "resourceType": "User",
        "created": "2010-01-23T04:56:22Z",
        "lastModified": "2011-05-13T04:42:34Z",
        "version": 'W\\/"3694e05e9dff590"',
        "location": "https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",
    },
}

user = User.model_validate(payload)
assert user.user_name == "bjensen@example.com"
assert user.meta.created == datetime.datetime(
    2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
)

scim2-models 是由 Yaal Coop 开发的 SCIM 工具集的一部分,包括 scim2-clientscim2-testerscim2-cli

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源分发

scim2_models-0.2.2.tar.gz (28.4 kB 查看哈希值)

上传时间

构建分发

scim2_models-0.2.2-py3-none-any.whl (35.1 kB 查看哈希值)

上传时间 Python 3

由以下支持