2 个版本
0.2.3 | 2024年3月26日 |
---|---|
0.2.2 | 2024年3月21日 |
0.2.1 |
|
#665 in 解析器实现
97 个月下载量
115KB
1.5K SLoC
SCIM v2
`scim_v2` 是一个Rust crate,提供与系统跨域身份管理(SCIM)版本2.0协议交互的实用工具。
描述
此crate提供以下功能:
- 各种SCIM资源(如`User`、`Group`、`ResourceType`、`ServiceProviderConfig`和`EnterpriseUser`)的模型。
- 验证这些资源的函数。
- 将这些资源序列化为JSON的函数。
- 从JSON反序列化这些资源的函数。
安装
要在项目中使用`scim_v2`,请将以下内容添加到您的`Cargo.toml`:
[dependencies]
scim_v2 = "0.2.3"
然后运行`cargo build`以下载和编译`scim_v2` crate及其所有依赖项。
用法
以下是一些如何使用此crate的示例
验证用户
use scim_v2::models::user::User;
let user = User {
user_name: "[email protected]".to_string(),
// other fields...
..Default::default()
};
match user.validate() {
Ok(_) => println!("User is valid."),
Err(e) => println!("User is invalid: {}", e),
}
将用户序列化为JSON
use scim_v2::models::user::User;
let user = User {
schemas: vec!["urn:ietf:params:scim:schemas:core:2.0:User".to_string()],
user_name: "[email protected]".to_string(),
// Initialize other fields as necessary...
..Default::default ()
};
match user.serialize() {
Ok(json) => println ! ("Serialized User: {}", json),
Err(e) => println !("Serialization error: {}", e),
}
从JSON反序列化用户
use scim_v2::models::user::User;
let user_json = r#"{"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "[email protected]"}"#;
match User::try_from(user_json) {
Ok(user) => println!("Successfully converted JSON to User: {:?}", user),
Err(e) => println!("Error converting from JSON to User: {}", e),
}
如果您愿意,也可以使用内置的反序列化函数。
use scim_v2::models::user::User;
let user_json = r#"{"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "[email protected]"}"#;
match User::deserialize(user_json) {
Ok(user) => println ! ("Deserialized User: {:?}", user),
Err(e) => println !("Deserialization error: {}", e),
}
有关更多示例和使用详细信息,请参阅每个函数和结构的文档。
贡献
欢迎贡献!请随意提交拉取请求。
许可证
依赖项
~0.7–1.6MB
~35K SLoC