Skip to content

Commit fd3a24e

Browse files
Improving example properties for token provider
I've added all properties that can be configured, along with comments describing what their values should be set to and in which cases they will be required.
1 parent 6969e2c commit fd3a24e

1 file changed

Lines changed: 92 additions & 5 deletions

File tree

ojdbc-provider-azure/example-token.properties

Lines changed: 92 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,101 @@
3737
################################################################################
3838

3939
# An example of a connection properties file that configures Oracle JDBC to
40-
# login using an OAUTH access token issued by Azure's Active Directory service.
40+
# login using an OAuth access token issued by Azure's Active Directory service.
4141
#
4242
# This file can be located by Oracle JDBC using the "oracle.jdbc.config.file"
4343
# connection property. For details, see:
4444
# https://docs.oracle.com/en/database/oracle/oracle-database/23/jajdb/oracle/jdbc/OracleConnection.html#CONNECTION_PROPERTY_CONFIG_FILE
4545

46-
# Configures the Azure OAUTH Token Provider. The application ID URI of the
47-
# database is configured as an environment variables or JVM system properties
48-
# named "DATABASE_APP_ID_URI".
46+
# The oracle.jdbc.provider.accessToken property needs to be configured as
47+
# the value seen below. This property enables the Oracle JDBC to use the
48+
# Azure Access Token Provider.
4949
oracle.jdbc.provider.accessToken=ojdbc-provider-azure-token
50-
oracle.jdbc.provider.accessToken.scope=${DATABASE_APP_ID_URI}/.default
50+
51+
# The scope property needs to identify an application that represents
52+
# Oracle Database. The scope is composed of the application ID URI of
53+
# from the database's App Registration, followed by the name of a scope
54+
# or ".default".
55+
# The value of this property is described here:
56+
# https://learn.microsoft.com/en-us/entra/identity-platform/scopes-oidc
57+
# And the registration of a database application is described here:
58+
# https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/registering-oracle-database-instance-microsoft-entra-id-tenancy.html
59+
oracle.jdbc.provider.accessToken.scope=https://example.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/.default
60+
61+
# The authenticationMethod property is optional in most cases. If this
62+
# property is not configured, a provider will try each non-interactive
63+
# authentication method until one succeeds:
64+
# 1. service-principal
65+
# 2. password
66+
# 3. managed-identity
67+
# In addition to the values listed above, this property can be set to one
68+
# of the following values to use an interactive method: interactive or device-code
69+
# These values are described here:
70+
# https://github.com/oracle/ojdbc-extensions/tree/main/ojdbc-provider-azure#configuring-authentication-for-resource-providers
71+
# oracle.jdbc.provider.accessToken.authenticationMethod=interactive
72+
73+
# The tenantId property will override the AZURE_TENANT_ID environment variable.
74+
# If the environment variable is not set, this property needs to be configured
75+
# for service-principal and password authentication.
76+
# The value of this property is described here:
77+
# https://learn.microsoft.com/en-us/entra/fundamentals/how-to-find-tenant
78+
# oracle.jdbc.provider.accessToken.tenantId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
79+
80+
# The clientId property will override the AZURE_CLIENT_ID environment variable.
81+
# If that environment variable is not set, this property needs to be configured
82+
# for service-principal and password authentication. For managed-identity
83+
# authentication, this property can be used to authenticate as a user assigned
84+
# managed identity.
85+
# The value of this property is the Application (client) ID from an App Registration
86+
# as described here:
87+
# https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols#app-registration
88+
# oracle.jdbc.provider.accessToken.clientId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
89+
90+
# The clientCertificatePath property will override the AZURE_CLIENT_CERTIFICATE_PATH
91+
# environment variable.
92+
# If that environment variable is not set, this property needs to be configured
93+
# for service-principal authentication, unless a client secret is being used instead.
94+
# The value of this property is the file system path of a certificate file
95+
# as described here:
96+
# https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal#option-1-recommended-upload-a-trusted-certificate-issued-by-a-certificate-authority
97+
# oracle.jdbc.provider.accessToken.clientCertificatePath=/path/to/certificate.pem
98+
99+
# The clientCertificatePassword property will override the AZURE_CLIENT_CERTIFICATE_PASSWORD
100+
# environment variable.
101+
# If that environment variable is not set, this property needs to be configured
102+
# for service-principal authentication if a PFX certificate is used. This property is
103+
# not required if a PEM certificate is used, or if a client secret is used instead of
104+
# a certificate.
105+
# The value of this property is the password used to protect a PFX certificate file
106+
# located by the clientCertificatePath property (above) or the
107+
# AZURE_CLIENT_CERTIFICATE_PATH environment variable
108+
# oracle.jdbc.provider.accessToken.clientCertificatePassword=xxxxxxxx
109+
110+
# The clientSecret property will override the AZURE_CLIENT_SECRET environment variable.
111+
# If that environment variable is not set, this property needs to be configured
112+
# for service-principal authentication, unless a certificate is used instead.
113+
# The value of this property is a client secret from an App registration, as
114+
# described here:
115+
# https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal#option-3-create-a-new-client-secret
116+
# oracle.jdbc.provider.accessToken.clientSecret=xxxxxxxx
117+
118+
# The username property will override the AZURE_USERNAME environment variable.
119+
# If that environment variable is not set, this property needs to be configured
120+
# for password authentication.
121+
# The value of this property is the username of an Azure account.
122+
# oracle.jdbc.provider.accessToken.username=xxxxxxxx
123+
124+
# The password property will override the AZURE_PASSWORD environment variable.
125+
# If that environment variable is not set, this property needs to be configured
126+
# for password authentication.
127+
# The value of this property is the password of an Azure account identified by the
128+
# username property or AZURE_USERNAME environment variable.
129+
# oracle.jdbc.provider.accessToken.password=xxxxxxxx
130+
131+
# The redirectUri property only needs to be configured for interactive authentication.
132+
# If it is not configured, a provider will use any available port on http://localhost
133+
# by default.
134+
# The value of this property is a redirect URL which has been added to an App
135+
# registration, as described here:
136+
# https://learn.microsoft.com/en-us/entra/identity-platform/reply-url
137+
# oracle.jdbc.provider.accessToken.redirectUri=http://localhost:8080

0 commit comments

Comments
 (0)