1. Authentication¶
The Oracle Graph server (PGX) uses an Oracle Database as identity manager. Both username and password based as well as Kerberos based authentication is supported.
You can connect to a remote graph server (PGX) instance in your Python program. You must first authenticate with the remote server before you can create a session as illustrated in the following example:
import pypgx as pgx
import pypgx.pg.rdbms.graph_server as graph_server
base_url = "https://localhost:7007"
username = "scott"
password = "tiger"
instance = graph_server.get_instance(base_url, username, password)
session = instance.create_session("python_pgx_client")
print(session)
if your token expires, you can log in again without losing any of your session data by reauthenticating as illustrated in the following example:
graph_server.reauthenticate(instance, "<user>", "<password>") # log in again
Refer to the section below, for the complete API reference on user authentication.
Allows to connect to a graph server
- pypgx.pg.rdbms.generate_token(base_url, username, password)
Generates a new authentication token.
- Parameters
base_url – the base URL in the format host [ : port][ /path] of the remote graph server.
username – the Database username to use for authentication.
password – the Database password to use for authentication.
- Returns
the newly generated authentication token
- pypgx.pg.rdbms.get_embedded_instance()
Connects to an embedded graph server. An embedded graph server runs inside the client JVM.
- Returns
a handle to the embedded graph server
- pypgx.pg.rdbms.get_instance(base_url, kerberos_ticket_path, refresh_time_before_token_expiry=1800)
Connects to a remote graph server.
- Parameters
base_url – the base URL in the format host [ : port][ /path] of the remote graph server. If base_url is None, the default will be used which points to embedded PGX instance.
kerberos_ticket_path – the kerberos ticket to be used for authentication.
refresh_time_before_token_expiry – the time in seconds to refresh the token automatically before expires.
- Returns
a handle to the remote graph server
- pypgx.pg.rdbms.reauthenticate(instance, username, password)
Re-authenticates an existing ServerInstance object with a remote graph server.
- Parameters
instance – the PGX instance on which the session is going to reauthenticate.
username – the Database username to use for authentication.
password – the Database password to use for authentication.
- Returns
the newly generated authentication token