Skip to content

Commit

Permalink
[FIX] Custom Oauth store refresh and id tokens with expiresIn (#14121)
Browse files Browse the repository at this point in the history
* Fix #13693 Custom Oauth does not register the refreshToken nor respect the accessToken lifetime

* Update app/custom-oauth/server/custom_oauth_server.js

Co-Authored-By: ralfbecker <rb@egroupware.org>

* Update app/custom-oauth/server/custom_oauth_server.js

Co-Authored-By: ralfbecker <rb@egroupware.org>

* Update app/custom-oauth/server/custom_oauth_server.js

Co-Authored-By: ralfbecker <rb@egroupware.org>

* Update custom_oauth_server.js
  • Loading branch information
ralfbecker authored and rodrigok committed Apr 16, 2019
1 parent ee9d8c0 commit b643dcb
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions app/custom-oauth/server/custom_oauth_server.js
Expand Up @@ -141,7 +141,7 @@ export class CustomOAuth {
if (data.error) { // if the http response was a json object with an error attribute
throw new Error(`Failed to complete OAuth handshake with ${ this.name } at ${ this.tokenPath }. ${ data.error }`);
} else {
return data.access_token;
return data;
}
}

Expand Down Expand Up @@ -183,15 +183,24 @@ export class CustomOAuth {
registerService() {
const self = this;
OAuth.registerService(this.name, 2, null, (query) => {
const accessToken = self.getAccessToken(query);

const identity = self.getIdentity(accessToken);
const response = self.getAccessToken(query);
const identity = self.getIdentity(response.access_token);

const serviceData = {
_OAuthCustom: true,
accessToken,
accessToken: response.access_token,
idToken: response.id_token,
expiresAt: (+new Date) + (1000 * parseInt(response.expires_in, 10)),
};

// only set the token in serviceData if it's there. this ensures
// that we don't lose old ones (since we only get this on the first
// log in attempt)
if (response.refresh_token) {
serviceData.refreshToken = response.refresh_token;
}

_.extend(serviceData, identity);

const data = {
Expand Down

0 comments on commit b643dcb

Please sign in to comment.