def refresh(new_resource = resource)
      token_response = TokenRequest
                       .new(authority, @client)
                       .get_with_refresh_token(refresh_token, new_resource)
      if token_response.instance_of? SuccessResponse
        token_response.parse_id_token(id_token)
      end
      token_response
    end
def refresh(new_resource = resource)
      token_response = TokenRequest
                       .new(authority, @client)
                       .get_with_refresh_token(refresh_token, new_resource)
      if token_response.instance_of? SuccessResponse
        token_response.parse_id_token(id_token)
      end
      token_response
    end
Attempts to refresh the access token for a given resource. Note that you
 can call this method with a different resource even if the token is not
 an MRRT, but it will fail

 @param String resource
   The resource that the new access token is beign requested for. Defaults
   to using the same resource as the original token.
 @return TokenResponse