2 unstable releases
0.2.0 | Sep 11, 2024 |
---|---|
0.1.1 | Aug 24, 2024 |
0.1.0 |
|
0.0.1 |
|
#259 in Authentication
459 downloads per month
76KB
1.5K
SLoC
ic-auth-client-rs
Port of @dfinity/auth-client for the Rust programming language.
Installation
Add the following to your Cargo.toml
:
[dependencies]
ic-auth-client = "0.1"
In the browser:
use ic_auth_client::AuthClient;
To get started with auth client, run
let mut auth_client = AuthClient::builder()
// any configurations
.build()
.await;
The auth_client can log in with
use ic_auth_client::AuthClientLoginOptions;
let options = AuthClientLoginOptions::builder()
.max_time_to_live(7 * 24 * 60 * 60 * 1000 * 1000 * 1000)
.on_success(|auth_success| {
// handle success
})
.build();
auth_client.login_with_options(options);
It opens an identity.ic0.app
window, saves your delegation to localStorage, and then sets you up with an identity.
Then, you can use that identity to make authenticated calls using the ic-agent::Agent
.
let identity = auth_client.identity();
let agent = Agent::builder()
.with_url(url)
.with_identity(identity)
.build()?;
Dependencies
~26–40MB
~753K SLoC