~starkingdoms/starkingdoms

ref: ccb7ac1036a620f213bb5d24a3332091074e3667 starkingdoms/starkingdoms-backplane/src/auth.rs -rw-r--r-- 1.6 KiB
ccb7ac10 — ghostlyzsh Merge branch 'bevy_rewrite' of https://gitlab.com/starkingdoms.tk/starkingdoms.tk into bevy_rewrite 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// StarKingdoms.IO, a browser game about drifting through space
//     Copyright (C) 2023 ghostly_zsh, TerraMaster85, core
//
//     This program is free software: you can redistribute it and/or modify
//     it under the terms of the GNU Affero General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
//
//     This program is distributed in the hope that it will be useful,
//     but WITHOUT ANY WARRANTY; without even the implied warranty of
//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//     GNU Affero General Public License for more details.
//
//     You should have received a copy of the GNU Affero General Public License
//     along with this program.  If not, see <https://www.gnu.org/licenses/>.

#[macro_export]
macro_rules! auth {
    ($i:expr,$c:expr) => {{
        let authorization_hdr_value = match $i.headers().get("Authorization") {
            Some(hdr) => hdr,
            None => $crate::err!(
                actix_web::http::StatusCode::UNAUTHORIZED,
                $crate::make_err!("ERR_UNAUTHORIZED", "unauthorized")
            ),
        };
        let hdr_value_split = $crate::handle_error!(authorization_hdr_value.to_str())
            .split(' ')
            .collect::<Vec<_>>();
        if hdr_value_split.len() < 2 {
            $crate::err!(
                actix_web::http::StatusCode::UNAUTHORIZED,
                $crate::make_err!("ERR_UNAUTHORIZED", "unauthorized")
            )
        }
        let tokens = hdr_value_split[1..].to_vec();
    }};
}