+190
-1
Cargo.lock
+190
-1
Cargo.lock
·····································································
+3
crates/jacquard-common/src/session.rs
+3
crates/jacquard-common/src/session.rs
···
+31
-19
crates/jacquard-common/src/types/xrpc.rs
+31
-19
crates/jacquard-common/src/types/xrpc.rs
······
+8
-1
crates/jacquard-oauth/Cargo.toml
+8
-1
crates/jacquard-oauth/Cargo.toml
···
+16
-12
crates/jacquard-oauth/src/atproto.rs
+16
-12
crates/jacquard-oauth/src/atproto.rs
··················
+86
-19
crates/jacquard-oauth/src/client.rs
+86
-19
crates/jacquard-oauth/src/client.rs
············-return Err(CallbackError::IssuerMismatch { expected: metadata.issuer.to_string(), got: iss.to_string() }.into());···-self.data.read().await.token_set.refresh_token.as_ref().map(|t| AuthorizationToken::Dpop(t.clone()))······
+3
crates/jacquard-oauth/src/dpop.rs
+3
crates/jacquard-oauth/src/dpop.rs
······
+5
-2
crates/jacquard-oauth/src/error.rs
+5
-2
crates/jacquard-oauth/src/error.rs
···
+3
crates/jacquard-oauth/src/lib.rs
+3
crates/jacquard-oauth/src/lib.rs
+178
crates/jacquard-oauth/src/loopback.rs
+178
crates/jacquard-oauth/src/loopback.rs
···
+2
-1
crates/jacquard-oauth/src/request.rs
+2
-1
crates/jacquard-oauth/src/request.rs
······
+79
-20
crates/jacquard-oauth/src/resolver.rs
+79
-20
crates/jacquard-oauth/src/resolver.rs
······-#[diagnostic(code(jacquard_oauth::resolver::not_found), help("check the base URL or identifier"))]-#[diagnostic(code(jacquard_oauth::resolver::at_identifier), help("ensure a valid handle or DID was provided"))]-#[diagnostic(code(jacquard_oauth::resolver::did), help("ensure DID is correctly formed (did:plc or did:web)"))]-#[diagnostic(code(jacquard_oauth::resolver::did_document), help("verify the DID document structure and service entries"))]-#[diagnostic(code(jacquard_oauth::resolver::protected_resource_metadata), help("PDS must advertise an authorization server in its protected resource metadata"))]-#[diagnostic(code(jacquard_oauth::resolver::authorization_server_metadata), help("issuer must match and include the PDS resource"))]-#[diagnostic(code(jacquard_oauth::resolver::unsupported_did_method), help("supported DID methods: did:web, did:plc"))]-#[diagnostic(code(jacquard_oauth::resolver::http_status), help("check well-known paths and server configuration"))]···// https://datatracker.ietf.org/doc/html/draft-ietf-oauth-resource-metadata-08#name-authorization-server-metada···-*client.next.lock().await = Some(HttpResponse::builder().status(StatusCode::NOT_FOUND).body(Vec::new()).unwrap());-*client.next.lock().await = Some(HttpResponse::builder().status(StatusCode::OK).body(b"{not json}".to_vec()).unwrap());
+9
crates/jacquard-oauth/src/session.rs
+9
crates/jacquard-oauth/src/session.rs
···
+4
-4
crates/jacquard-oauth/src/types/request.rs
+4
-4
crates/jacquard-oauth/src/types/request.rs
·········
+2
-2
crates/jacquard/Cargo.toml
+2
-2
crates/jacquard/Cargo.toml
···api_all = ["api", "jacquard-api/app_bsky", "jacquard-api/chat_bsky", "jacquard-api/tools_ozone"]···
+39
-30
crates/jacquard/src/main.rs
+39
-30
crates/jacquard/src/main.rs
···