Expand description
Builder used to construct an OAuth2ResourceServer instance.
For further information on the different properties, see OAuth2ResourceServerBuilder and TenantConfigurationBuilder.
§Example using DefaultClaims
use tower_oauth2_resource_server::server::OAuth2ResourceServer;
use tower_oauth2_resource_server::tenant::TenantConfiguration;
#[tokio::main]
async fn main() {
let oauth2_resource_server = <OAuth2ResourceServer>::builder()
.add_tenant(TenantConfiguration::builder("https://some-auth-server.com")
.audiences(&["https://some-resource-server.com"])
.build().await.expect("Failed to build tenant configuration"))
.build()
.await;
}§Example using custom claims implementation
use serde::{Deserialize, Serialize};
use tower_oauth2_resource_server::server::OAuth2ResourceServer;
use tower_oauth2_resource_server::tenant::TenantConfiguration;
#[derive(Clone, Debug, Deserialize, Serialize)]
struct MyClaims {
pub iss: String,
pub scp: Vec<String>
}
#[tokio::main]
async fn main() {
let oauth2_resource_server = OAuth2ResourceServer::<MyClaims>::builder()
.add_tenant(TenantConfiguration::builder("https://some-auth-server.com")
.audiences(&["https://some-resource-server.com"])
.build().await.expect("Failed to build tenant configuration"))
.build()
.await;
}