49.15 OAUTH_AUTHENTICATEプロシージャのシグネチャ1

このプロシージャは、OAuth認証を実行し、OAuthアクセス・トークンをリクエストします。トークンとその有効期限は、グローバル変数g_oauth_tokenに格納されます。

type oauth_token is record(
     token      varchar2(255),
     expires    date );

ノート:

現在は、クライアント資格証明フローのみがサポートされています。

構文

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 );

パラメータ

表49-10 OAUTH_AUTHENTICATEプロシージャのパラメータ

パラメータ 説明
p_token_url OAuthトークン・サービスのURLエンドポイント。
p_client_id 認証に使用するOAuth Client ID。
p_client_secret 認証に使用するOAuthクライアント・シークレット。
p_flow_type OAuthフロー・タイプ。現時点ではOAUTH_CLIENT_CREDのみサポートされています。
p_proxy_override リクエストに使用するプロキシ。
p_transfer_timeout レスポンスを待機する時間(秒単位)。
p_wallet_path リクエストがHTTPSの場合、ウォレットのファイルシステム上のパス。file:/usr/home/oracle/WALLETSなど
p_wallet_pwd ウォレットにアクセスするためのパスワード。
p_https_host HTTPS要求に対してリモート・サーバーの証明書の共通名(CN)と照合するホスト名。
p_scope OAuthプロバイダからリクエストされる属性のグループを特定するOAuthスコープ。たとえば、profile,emailです

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;