Skip to content

Commit

Permalink
Update resolvers
Browse files Browse the repository at this point in the history
  • Loading branch information
sugyan committed Sep 27, 2024
1 parent 7625577 commit 24b6e37
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 21 deletions.
8 changes: 2 additions & 6 deletions atrium-oauth/identity/src/did/common_resolver.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use atrium_api::did_doc::DidDocument;
use atrium_api::types::string::Did;
use atrium_xrpc::HttpClient;

use super::plc_resolver::{PlcDidResolver, PlcDidResolverConfig};
use super::web_resolver::{WebDidResolver, WebDidResolverConfig};
Expand Down Expand Up @@ -50,9 +51,4 @@ where
}
}

impl<T> DidResolver for CommonDidResolver<T>
where
PlcDidResolver<T>: DidResolver + Send + Sync + 'static,
WebDidResolver<T>: DidResolver + Send + Sync + 'static,
{
}
impl<T> DidResolver for CommonDidResolver<T> where T: HttpClient + Send + Sync + 'static {}
32 changes: 17 additions & 15 deletions atrium-oauth/oauth-client/src/resolver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ use crate::types::{OAuthAuthorizationServerMetadata, OAuthProtectedResourceMetad
use atrium_identity::identity_resolver::{
IdentityResolver, IdentityResolverConfig, ResolvedIdentity,
};
use atrium_identity::resolver::{CachedResolver, CachedResolverConfig};
use atrium_identity::resolver::{
Cacheable, CachedResolver, CachedResolverConfig, Throttleable, ThrottledResolver,
};
use atrium_identity::{did::DidResolver, handle::HandleResolver, Resolver};
use atrium_identity::{Error, Result};
use atrium_xrpc::HttpClient;
Expand Down Expand Up @@ -59,15 +61,15 @@ pub struct OAuthResolver<
T,
D,
H,
PRR = DefaultOAuthProtectedResourceResolver<T>,
ASR = DefaultOAuthAuthorizationServerResolver<T>,
PR = DefaultOAuthProtectedResourceResolver<T>,
AS = DefaultOAuthAuthorizationServerResolver<T>,
> where
PRR: Resolver<Input = String, Output = OAuthProtectedResourceMetadata>,
ASR: Resolver<Input = String, Output = OAuthAuthorizationServerMetadata>,
PR: Resolver<Input = String, Output = OAuthProtectedResourceMetadata> + Send + Sync + 'static,
AS: Resolver<Input = String, Output = OAuthAuthorizationServerMetadata> + Send + Sync + 'static,
{
identity_resolver: IdentityResolver<D, H>,
protected_resource_resolver: CachedResolver<PRR>,
authorization_server_resolver: CachedResolver<ASR>,
protected_resource_resolver: CachedResolver<ThrottledResolver<PR>>,
authorization_server_resolver: CachedResolver<ThrottledResolver<AS>>,
_phantom: PhantomData<T>,
}

Expand All @@ -76,14 +78,14 @@ where
T: HttpClient + Send + Sync + 'static,
{
pub fn new(config: OAuthResolverConfig<D, H>, http_client: Arc<T>) -> Self {
let protected_resource_resolver = CachedResolver::new(
DefaultOAuthProtectedResourceResolver::new(http_client.clone()),
config.authorization_server_metadata.cache,
);
let authorization_server_resolver = CachedResolver::new(
DefaultOAuthAuthorizationServerResolver::new(http_client.clone()),
config.protected_resource_metadata.cache,
);
let protected_resource_resolver =
DefaultOAuthProtectedResourceResolver::new(http_client.clone())
.throttled()
.cached(config.authorization_server_metadata.cache);
let authorization_server_resolver =
DefaultOAuthAuthorizationServerResolver::new(http_client.clone())
.throttled()
.cached(config.protected_resource_metadata.cache);
Self {
identity_resolver: IdentityResolver::new(IdentityResolverConfig {
did_resolver: config.did_resolver,
Expand Down

0 comments on commit 24b6e37

Please sign in to comment.