mirror of
https://github.com/stoatchat/stoatchat.git
synced 2026-07-14 05:26:59 +00:00
fix(oauth2): use public bot
This commit is contained in:
@@ -125,10 +125,6 @@ pub fn scope_can_access_route(scope: &str, request: &Request<'_>) -> bool {
|
||||
|
||||
match scope {
|
||||
"identify" => {
|
||||
println!("{:?}", request.method() == Method::Get);
|
||||
println!("{:?}", segments.get(0));
|
||||
println!("{:?}", segments.get(1));
|
||||
|
||||
request.method() == Method::Get &&
|
||||
segments.get(0) == Some("users") &&
|
||||
segments.get(1) == Some("@me")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::v0::{Bot, User};
|
||||
use crate::v0::{PublicBot, User};
|
||||
|
||||
auto_derived!(
|
||||
pub struct OAuth2AuthorizeAuthResponse {
|
||||
@@ -7,7 +7,7 @@ auto_derived!(
|
||||
}
|
||||
|
||||
pub struct OAuth2AuthorizeInfoResponse {
|
||||
pub bot: Bot,
|
||||
pub bot: PublicBot,
|
||||
pub user: User,
|
||||
}
|
||||
|
||||
|
||||
@@ -7,13 +7,15 @@ use rocket::{form::Form, serde::json::Json, State};
|
||||
///
|
||||
/// Fetches the information needed for displaying on the OAuth grant page
|
||||
#[openapi(tag = "OAuth2")]
|
||||
#[get("/authorize", data="<info>")]
|
||||
#[get("/authorize?<info..>")]
|
||||
pub async fn info(
|
||||
db: &State<Database>,
|
||||
user: User,
|
||||
info: Form<v0::OAuth2AuthorizationForm>,
|
||||
info: v0::OAuth2AuthorizationForm,
|
||||
) -> Result<Json<v0::OAuth2AuthorizeInfoResponse>> {
|
||||
let bot = Reference::from_unchecked(info.client_id.to_string()).as_bot(db).await?;
|
||||
let bot_user = Reference::from_unchecked(bot.id.clone()).as_user(db).await?;
|
||||
let public_bot = bot.clone().into_public_bot(bot_user);
|
||||
|
||||
let Some(oauth2) = &bot.oauth2 else {
|
||||
return Err(create_error!(InvalidOperation));
|
||||
@@ -24,7 +26,7 @@ pub async fn info(
|
||||
};
|
||||
|
||||
Ok(Json(v0::OAuth2AuthorizeInfoResponse {
|
||||
bot: bot.into(),
|
||||
bot: public_bot,
|
||||
user: user.into(db, None).await
|
||||
}))
|
||||
}
|
||||
Reference in New Issue
Block a user