47.15 OAUTH_AUTHENTICATE Procedure Signature 1
This procedure performs OAuth authentication and requests an OAuth access token. The token and its expiration date are stored in the global variable g_oauth_token.
                  
type oauth_token is record(
     token      varchar2(255),
     expires    date );Note:
Currently only the Client Credentials flow is supported.
Syntax
APEX_WEB_SERVICE.OAUTH_AUTHENTICATE(
    p_token_url         IN VARCHAR2,
    p_client_id         IN VARCHAR2,
    p_client_secret     IN VARCHAR2,
    p_flow_type         IN VARCHAR2 DEFAULT OAUTH_CLIENT_CRED,
    p_proxy_override    IN VARCHAR2 DEFAULT NULL,
    p_transfer_timeout  IN NUMBER   DEFAULT 180,
    p_wallet_path       IN VARCHAR2 DEFAULT NULL,
    p_wallet_pwd        IN VARCHAR2 DEFAULT NULL,
    p_https_host        IN VARCHAR2 DEFAULT NULL,
    p_scope             IN VARCHAR2 DEFAULT NULL );Parameters
Table 47-10 OAUTH_AUTHENTICATE Procedure Parameters
| Parameter | Description | 
|---|---|
| p_token_url | The URL endpoint of the OAuth token service. | 
| p_client_id | OAuth Client ID to use for authentication. | 
| p_client_secret | OAuth Client Secret to use for authentication. | 
| p_flow_type | OAuth flow type. Only OAUTH_CLIENT_CREDis supported at this time. | 
| p_proxy_override | The proxy to use for the request. | 
| p_transfer_timeout | The amount of time in seconds to wait for a response. | 
| p_wallet_path | The filesystem path to a wallet if request is HTTPS. For example, file:/usr/home/oracle/WALLETS | 
| p_wallet_pwd | The password to access the wallet. | 
| p_https_host | The host name to be matched against the common name (CN) of the remote server's certificate for an HTTPS request. | 
| p_scope | The OAuth scope to identify groups of attributes that will be requested from the OAuth provider. For example, profile,email | 
Example
BEGIN
    apex_web_service.oauth_authenticate(
        p_token_url     => '[URL to ORDS OAuth troken service: http(s)://{host}:{port}/ords/.../oauth/token]',
        p_client_id     => '[client-id]',
        p_client_secret => '[client-secret]');
END;Parent topic: APEX_WEB_SERVICE