2024-07-16 08:05:25 +00:00
|
|
|
use axum::extract::State;
|
2024-07-02 21:51:11 -04:00
|
|
|
use ruma::api::federation::openid::get_openid_userinfo;
|
|
|
|
|
2024-07-16 08:05:25 +00:00
|
|
|
use crate::{Result, Ruma};
|
2024-07-02 21:51:11 -04:00
|
|
|
|
|
|
|
/// # `GET /_matrix/federation/v1/openid/userinfo`
|
|
|
|
///
|
|
|
|
/// Get information about the user that generated the OpenID token.
|
|
|
|
pub(crate) async fn get_openid_userinfo_route(
|
2024-07-16 08:05:25 +00:00
|
|
|
State(services): State<crate::State>, body: Ruma<get_openid_userinfo::v1::Request>,
|
2024-07-02 21:51:11 -04:00
|
|
|
) -> Result<get_openid_userinfo::v1::Response> {
|
|
|
|
Ok(get_openid_userinfo::v1::Response::new(
|
2024-08-08 17:18:30 +00:00
|
|
|
services
|
|
|
|
.users
|
|
|
|
.find_from_openid_token(&body.access_token)
|
|
|
|
.await?,
|
2024-07-02 21:51:11 -04:00
|
|
|
))
|
|
|
|
}
|