Make usage of FatalErrorPage
more convenient
This commit is contained in:
@ -4,13 +4,12 @@ use actix::Addr;
|
||||
use actix_identity::Identity;
|
||||
use actix_web::{HttpRequest, HttpResponse, Responder, web};
|
||||
use actix_web::error::ErrorUnauthorized;
|
||||
use askama::Template;
|
||||
|
||||
use crate::actors::{openid_sessions_actor, users_actor};
|
||||
use crate::actors::openid_sessions_actor::{OpenIDSessionsActor, Session, SessionID};
|
||||
use crate::actors::users_actor::UsersActor;
|
||||
use crate::constants::*;
|
||||
use crate::controllers::base_controller::FatalErrorPage;
|
||||
use crate::controllers::base_controller::build_fatal_error_page;
|
||||
use crate::data::app_config::AppConfig;
|
||||
use crate::data::client::{ClientID, ClientManager};
|
||||
use crate::data::code_challenge::CodeChallenge;
|
||||
@ -100,18 +99,16 @@ pub async fn authorize(user: CurrentUser, id: Identity, query: web::Query<Author
|
||||
sessions: web::Data<Addr<OpenIDSessionsActor>>) -> impl Responder {
|
||||
let client = match clients.find_by_id(&query.client_id) {
|
||||
None => {
|
||||
return HttpResponse::BadRequest().body(FatalErrorPage {
|
||||
message: "Client is invalid!"
|
||||
}.render().unwrap());
|
||||
return HttpResponse::BadRequest()
|
||||
.body(build_fatal_error_page("Client is invalid!"));
|
||||
}
|
||||
Some(c) => c
|
||||
};
|
||||
|
||||
let redirect_uri = query.redirect_uri.trim().to_string();
|
||||
if !redirect_uri.starts_with(&client.redirect_uri) {
|
||||
return HttpResponse::BadRequest().body(FatalErrorPage {
|
||||
message: "Redirect URI is invalid!"
|
||||
}.render().unwrap());
|
||||
return HttpResponse::BadRequest()
|
||||
.body(build_fatal_error_page("Redirect URI is invalid!"));
|
||||
}
|
||||
|
||||
if !query.scope.split(' ').any(|x| x == "openid") {
|
||||
|
Reference in New Issue
Block a user