Generate proper key id, sign actor request
This commit is contained in:
parent
b10a8f4b71
commit
2dc86b89cd
1 changed files with 9 additions and 3 deletions
|
@ -12,13 +12,20 @@ pub async fn fetch_actor(
|
||||||
client: std::sync::Arc<Client>,
|
client: std::sync::Arc<Client>,
|
||||||
actor_id: &XsdAnyUri,
|
actor_id: &XsdAnyUri,
|
||||||
) -> Result<AcceptedActors, MyError> {
|
) -> Result<AcceptedActors, MyError> {
|
||||||
|
use http_signature_normalization_actix::prelude::*;
|
||||||
|
|
||||||
if let Some(actor) = state.get_actor(actor_id).await {
|
if let Some(actor) = state.get_actor(actor_id).await {
|
||||||
return Ok(actor);
|
return Ok(actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let key_id = state.generate_url(UrlKind::MainKey);
|
||||||
|
|
||||||
let actor: AcceptedActors = client
|
let actor: AcceptedActors = client
|
||||||
.get(actor_id.as_str())
|
.get(actor_id.as_str())
|
||||||
.header("Accept", "application/activity+json")
|
.header("Accept", "application/activity+json")
|
||||||
|
.signature(&Config::default(), key_id, |signing_string| {
|
||||||
|
state.sign(signing_string)
|
||||||
|
})?
|
||||||
.send()
|
.send()
|
||||||
.await
|
.await
|
||||||
.map_err(|e| {
|
.map_err(|e| {
|
||||||
|
@ -73,10 +80,9 @@ where
|
||||||
use http_signature_normalization_actix::prelude::*;
|
use http_signature_normalization_actix::prelude::*;
|
||||||
use sha2::{Digest, Sha256};
|
use sha2::{Digest, Sha256};
|
||||||
|
|
||||||
let config = Config::default();
|
|
||||||
let mut digest = Sha256::new();
|
let mut digest = Sha256::new();
|
||||||
|
|
||||||
let key_id = state.generate_url(UrlKind::Actor);
|
let key_id = state.generate_url(UrlKind::MainKey);
|
||||||
|
|
||||||
let item_string = serde_json::to_string(item)?;
|
let item_string = serde_json::to_string(item)?;
|
||||||
|
|
||||||
|
@ -86,7 +92,7 @@ where
|
||||||
.header("Content-Type", "application/activity+json")
|
.header("Content-Type", "application/activity+json")
|
||||||
.header("User-Agent", "Aode Relay v0.1.0")
|
.header("User-Agent", "Aode Relay v0.1.0")
|
||||||
.signature_with_digest(
|
.signature_with_digest(
|
||||||
&config,
|
&Config::default(),
|
||||||
&key_id,
|
&key_id,
|
||||||
&mut digest,
|
&mut digest,
|
||||||
item_string,
|
item_string,
|
||||||
|
|
Loading…
Add table
Reference in a new issue