US 12,107,843 B2
Accessing cloud data providers with user-impersonation
Sathya G, Kerala (IN); and Sateesh Babu Chilamakuri, Tirupati (IN)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on Nov. 23, 2021, as Appl. No. 17/533,315.
Prior Publication US 2023/0164131 A1, May 25, 2023
Int. Cl. H04L 9/40 (2022.01)
CPC H04L 63/0815 (2013.01) [H04L 63/083 (2013.01); H04L 63/0876 (2013.01); H04L 63/102 (2013.01); H04L 63/105 (2013.01); H04L 63/1483 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer implemented method for accessing a cloud data provider with user-impersonation, comprising:
retrieving a cluster unique identifier (CUID) from a database in response to receiving an initial logon request from a server, wherein the CUID represents a configuration of the cloud data provider;
sending the initial logon request to the server based on the CUID, thereby performing a first logon to the cloud data provider using a first user identity associated with a first user;
retrieving an authorization code from the cloud data provider in response to sending the initial logon request to the server;
exchanging the authorization code for an identifier token and a refresh token issued by the cloud data provider;
validating the identifier token and the refresh token based on the CUID and a token length threshold;
storing the refresh token in the database based on the CUID in response to validating the identifier token and the refresh token;
receiving a user-impersonation logon request from a second user identity associated with a second user;
in response to receiving the user-impersonation logon request from the second user, retrieving the refresh token from the database based on the CUID;
exchanging, based on the CUID, the refresh token for an access token issued by the cloud data provider; and
sending the user-impersonation logon request for the second user and the access token received in exchange for the refresh token, to the server, thereby performing a second logon to the cloud data provider using the second user identity, wherein the second logon impersonates the first logon,
wherein at least one of the retrieving a CUID, sending the initial logon request, retrieving an authorization code, exchanging the authorization code, validating, storing, retrieving the refresh token, exchanging the refresh token, and sending the user-impersonation logon request are performed by one or more computers.