@@ -47,7 +47,7 @@ impl AuthCheck {
47
47
log_request:: add_custom_metadata ( "tokenid" , id) ;
48
48
}
49
49
50
- if !self . allow_token && auth. token_id . is_some ( ) {
50
+ if !self . allow_token && auth. token . is_some ( ) {
51
51
let error_message = "API Token authentication was explicitly disallowed for this API" ;
52
52
return Err ( internal ( error_message) . chain ( forbidden ( ) ) ) ;
53
53
}
@@ -59,7 +59,7 @@ impl AuthCheck {
59
59
#[ derive( Debug ) ]
60
60
pub struct AuthenticatedUser {
61
61
user : User ,
62
- token_id : Option < i32 > ,
62
+ token : Option < ApiToken > ,
63
63
}
64
64
65
65
impl AuthenticatedUser {
@@ -68,7 +68,11 @@ impl AuthenticatedUser {
68
68
}
69
69
70
70
pub fn api_token_id ( & self ) -> Option < i32 > {
71
- self . token_id
71
+ self . api_token ( ) . map ( |token| token. id )
72
+ }
73
+
74
+ pub fn api_token ( & self ) -> Option < & ApiToken > {
75
+ self . token . as_ref ( )
72
76
}
73
77
74
78
pub fn user ( self ) -> User {
@@ -86,10 +90,7 @@ fn authenticate_user(req: &dyn RequestExt) -> AppResult<AuthenticatedUser> {
86
90
let user = User :: find ( & conn, id)
87
91
. map_err ( |err| err. chain ( internal ( "user_id from cookie not found in database" ) ) ) ?;
88
92
89
- return Ok ( AuthenticatedUser {
90
- user,
91
- token_id : None ,
92
- } ) ;
93
+ return Ok ( AuthenticatedUser { user, token : None } ) ;
93
94
}
94
95
95
96
// Otherwise, look for an `Authorization` header on the request
@@ -112,7 +113,7 @@ fn authenticate_user(req: &dyn RequestExt) -> AppResult<AuthenticatedUser> {
112
113
113
114
return Ok ( AuthenticatedUser {
114
115
user,
115
- token_id : Some ( token. id ) ,
116
+ token : Some ( token) ,
116
117
} ) ;
117
118
}
118
119
0 commit comments