pub struct AccessTokenInfo {
pub id: AccessTokenId,
pub expires_at: Option<u32>,
pub auto_prefix_streams: bool,
pub scope: Option<AccessTokenScope>,
}👎Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Expand description
Access token information.
Fields§
§id: AccessTokenId👎Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Access token ID. It must be unique to the account and between 1 and 96 characters.
expires_at: Option<u32>👎Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Expiration time in seconds since Unix epoch. If not set, the expiration will be set to that of the requestor’s token.
auto_prefix_streams: bool👎Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Namespace streams based on the configured stream-level scope, which must be a prefix. Stream name arguments will be automatically prefixed, and the prefix will be stripped when listing streams.
scope: Option<AccessTokenScope>👎Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Access token scope.
Implementations§
Source§impl AccessTokenInfo
impl AccessTokenInfo
Sourcepub fn new(id: AccessTokenId) -> Self
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn new(id: AccessTokenId) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Create a new access token info.
Examples found in repository?
examples/issue_access_token.rs (line 16)
10async fn main() -> Result<(), Box<dyn std::error::Error>> {
11 let token = std::env::var("S2_ACCESS_TOKEN")?;
12 let config = ClientConfig::new(token);
13 let client = Client::new(config);
14
15 let access_token_id: AccessTokenId = "my-access-token".parse()?;
16 let access_token_info = AccessTokenInfo::new(access_token_id).with_scope(
17 AccessTokenScope::new()
18 .with_op_groups(
19 PermittedOperationGroups::new()
20 .with_account(ReadWritePermissions::new().with_read(true)),
21 )
22 .with_op(Operation::CreateStream)
23 .with_streams(ResourceSet::Prefix("my-stream-prefix".to_string()))
24 .with_basins(ResourceSet::Exact("my-perfect-basin".to_string())),
25 );
26 let token = client.issue_access_token(access_token_info).await?;
27
28 println!("Access token: {token}");
29
30 Ok(())
31}Sourcepub fn with_expires_at(self, expires_at: u32) -> Self
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn with_expires_at(self, expires_at: u32) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Overwrite expiration time.
Sourcepub fn with_auto_prefix_streams(self, auto_prefix_streams: bool) -> Self
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn with_auto_prefix_streams(self, auto_prefix_streams: bool) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Overwrite auto prefix streams.
Sourcepub fn with_scope(self, scope: AccessTokenScope) -> Self
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn with_scope(self, scope: AccessTokenScope) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Overwrite scope.
Examples found in repository?
examples/issue_access_token.rs (lines 16-25)
10async fn main() -> Result<(), Box<dyn std::error::Error>> {
11 let token = std::env::var("S2_ACCESS_TOKEN")?;
12 let config = ClientConfig::new(token);
13 let client = Client::new(config);
14
15 let access_token_id: AccessTokenId = "my-access-token".parse()?;
16 let access_token_info = AccessTokenInfo::new(access_token_id).with_scope(
17 AccessTokenScope::new()
18 .with_op_groups(
19 PermittedOperationGroups::new()
20 .with_account(ReadWritePermissions::new().with_read(true)),
21 )
22 .with_op(Operation::CreateStream)
23 .with_streams(ResourceSet::Prefix("my-stream-prefix".to_string()))
24 .with_basins(ResourceSet::Exact("my-perfect-basin".to_string())),
25 );
26 let token = client.issue_access_token(access_token_info).await?;
27
28 println!("Access token: {token}");
29
30 Ok(())
31}Trait Implementations§
Source§impl Clone for AccessTokenInfo
impl Clone for AccessTokenInfo
Source§fn clone(&self) -> AccessTokenInfo
fn clone(&self) -> AccessTokenInfo
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for AccessTokenInfo
impl RefUnwindSafe for AccessTokenInfo
impl Send for AccessTokenInfo
impl Sync for AccessTokenInfo
impl Unpin for AccessTokenInfo
impl UnwindSafe for AccessTokenInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request