use async_trait::async_trait;
use oauth2_client::re_exports::{ClientId, ClientSecret, RedirectUri};
use oauth2_signin::web_app::SigninFlowHandleCallbackRet;

#[async_trait]
#[allow(unused)]
pub trait IdentityProviderHandler: Send {
    async fn handle_callback(
        &self,
        client_id: ClientId,
        client_secret: ClientSecret,
        redirect_uri: RedirectUri,
        query: String,
    ) -> Result<SigninFlowHandleCallbackRet, Box<dyn std::error::Error>>;
}
