casdoor-rust-sdk

Crates.iocasdoor-rust-sdk
lib.rscasdoor-rust-sdk
version1.3.0
sourcesrc
created_at2022-07-02 11:41:32.905277
updated_at2023-09-27 08:45:56.020036
descriptionRust client SDK for Casdoor
homepagehttps://casdoor.org
repositoryhttps://github.com/casdoor/casdoor-rust-sdk
max_upload_size
id617744
size43,800
casbin-bot (casbin-bot)

documentation

README

casdoor-rust-sdk

GitHub last commit Crates.io Docs CI Discord

This is Casdoor's SDK for Rust, which will allow you to easily connect your application to the Casdoor authentication system without having to implement it from scratch.

Casdoor SDK is very simple to use. We will show you the steps below.

[dependencies]
casdoor-rust-sdk = <latest-version>

Step1. Init SDK

Initialization requires 6 parameters, which are all string type:

Name (in order) Must Description
endpoint Yes Casdoor Server Url, such as http://localhost:8000
client_id Yes Client ID for the Casdoor application
client_secret Yes Client secret for the Casdoor application
certificate Yes x509 certificate content of Application.cert
org_name Yes The name for the Casdoor organization
app_name No The name for the Casdoor application
// init from params.
let app = CasdoorConfig::new(endpoint, client_id, client_secret, certificate, org_name);

// init from toml file, file_path should be absolute path. (recommend)
let conf = CasdoorConfig::from_toml(file_path).unwrap().as_str()).unwrap();

Step2. Get service and use

Now provide two services: CasdoorUserService, CasdoorAuthService

You can create them like:

let user_service = UserService::new(&conf);
let auth_src = AuthService::new(&conf);

Step3. Interact with the sdk services

The SDK support basic operations.

user

  • get_user(name), get one user by user name.
  • get_users(), get all users.
  • get_sorted_users(sorter, limit), get sorted user and limit number of result.
  • get_user_count(is_online), get user count.
  • add_user(User), write user to database.
  • update_user(User), update user info
  • delete_user(User), delete user

auth

  • get_auth_token(code), get the auth token.
  • parse_jwt_token(token), parse jwt token.
Commit count: 35

cargo fmt