code: function(creds) {
        var accessToken = creds['oauth2.accessToken'];
        var refreshToken = creds[StackMob.REFRESH_TOKEN_KEY];
  
        //Because the server sends back how long the credentials are valid for and not the expiration date, we construct the expiration date on the client side.  For the login scenario where we are using OAuth 2.0's redirect URL mechanism and where a user refreshes the logged-in redirected URL page, we don't want to incorrectly generate and save a new expiration date.  If the access token is the same, then leave the expiration date as is.
        //FIXME:  don't even pass in the expires value if we dont' intend to save it.  Move this logic out to handleOAuthCallback.  This check is happening too late down the line.
        if(this.Storage.retrieve('oauth2.accessToken') != accessToken) {
          this.Storage.persist('oauth2.expires', creds['oauth2.expires']);
        }
  
        this.Storage.persist('oauth2.accessToken', accessToken);
        this.Storage.persist(StackMob.REFRESH_TOKEN_KEY, refreshToken);
        this.Storage.persist('oauth2.macKey', creds['oauth2.macKey']);
        this.Storage.persist('oauth2.user', creds['oauth2.user']);
        this.Storage.persist('oauth2.userSchemaInfo', JSON.stringify(creds['oauth2.userSchemaInfo']));
      }
docs: Saves the OAuth 2.0 credentials (passed in as JSON) to client storage.