diff --git a/src/oauth.rs b/src/oauth.rs
index 392e72ea8760c3f8cf512ed32a558d9620a3815f..c5d140b15483d8c991a2e1c858921b073c7063a1 100644
--- a/src/oauth.rs
+++ b/src/oauth.rs
@@ -95,7 +95,7 @@ pub fn get_access_token<E: Copy>(conf: Config, prefix: &str, error_value: E, una
         }
 }
 
-pub fn get_access_token_password<E: Copy>(conf: Config, prefix: &str, username: String, password: String, error_value: E, unauth_value: E) -> Result<String, E> {
+pub fn get_access_token_password<E: Copy>(conf: Config, prefix: &str, username: String, password: String, error_value: E, unauth_value: E) -> Result<BasicTokenResponse, E> {
     let scopes: Vec<&str> = get_or_error(&conf, &full_key(prefix, "scopes"), error_value)?;
 
     let res_username = ResourceOwnerUsername::new(username);
@@ -109,7 +109,7 @@ pub fn get_access_token_password<E: Copy>(conf: Config, prefix: &str, username:
 
     let result = request.request(http_client);
     match result {
-            Ok(t) => Ok("".to_string()),
+            Ok(t) => Ok(t),
             Err(e) => match e {
                 RequestTokenError::ServerResponse(t) => {
                     error!("Authorization server returned error: {}", t);