diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2019-01-07 18:08:09 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2019-01-07 18:08:09 -0800 |
commit | 35f3f55aac364373ba16191abdb3c0c585249245 (patch) | |
tree | 444c4bd10e38c3935e250f760426c9a03536f035 /rust/src/auth.rs | |
parent | 75c9831cf6e71b7a24e99e34cbe74845d1bfeed0 (diff) | |
download | fatcat-35f3f55aac364373ba16191abdb3c0c585249245.tar.gz fatcat-35f3f55aac364373ba16191abdb3c0c585249245.zip |
add auth/check endpoint
Diffstat (limited to 'rust/src/auth.rs')
-rw-r--r-- | rust/src/auth.rs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/rust/src/auth.rs b/rust/src/auth.rs index 8894e33b..c20b9b71 100644 --- a/rust/src/auth.rs +++ b/rust/src/auth.rs @@ -56,9 +56,10 @@ impl AuthContext { pub fn require_role(&self, role: FatcatRole) -> Result<()> { match self.has_role(role) { true => Ok(()), - false => Err(ErrorKind::InsufficientPrivileges( - format!("doesn't have required role: {:?}", role), - ) + false => Err(ErrorKind::InsufficientPrivileges(format!( + "doesn't have required role: {:?}", + role + )) .into()), } } @@ -230,7 +231,12 @@ impl AuthConfectionary { Ok(BASE64.encode(&raw)) } - pub fn parse_macaroon_token(&self, conn: &DbConn, s: &str, endpoint: Option<&str>) -> Result<EditorRow> { + pub fn parse_macaroon_token( + &self, + conn: &DbConn, + s: &str, + endpoint: Option<&str>, + ) -> Result<EditorRow> { let raw = BASE64.decode(s.as_bytes())?; let mac = match Macaroon::deserialize(&raw) { Ok(m) => m, @@ -371,7 +377,12 @@ impl AuthConfectionary { })) } - pub fn require_auth(&self, conn: &DbConn, auth_data: &Option<AuthData>, endpoint: Option<&str>) -> Result<AuthContext> { + pub fn require_auth( + &self, + conn: &DbConn, + auth_data: &Option<AuthData>, + endpoint: Option<&str>, + ) -> Result<AuthContext> { match self.parse_swagger(conn, auth_data, endpoint)? { Some(auth) => Ok(auth), None => Err(ErrorKind::InvalidCredentials("no token supplied".to_string()).into()), |