drogue_client/openid/provider/
access_token.rs1use crate::{
2 error::ClientError,
3 openid::{Credentials, TokenProvider},
4};
5use async_trait::async_trait;
6use std::fmt::{Debug, Formatter};
7
8#[derive(Clone)]
15pub struct AccessTokenProvider {
16 pub user: String,
17 pub token: String,
18}
19
20impl Debug for AccessTokenProvider {
21 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
22 f.debug_struct("AccessTokenProvider")
23 .field("user", &self.user)
24 .field("token", &"***")
25 .finish()
26 }
27}
28
29#[async_trait]
30impl TokenProvider for AccessTokenProvider {
31 async fn provide_access_token(&self) -> Result<Option<Credentials>, ClientError> {
32 Ok(Some(Credentials::Basic(
33 self.user.clone(),
34 Some(self.token.clone()),
35 )))
36 }
37}