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

パラメータ

表40-8 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;