プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 29.12 OAUTH_AUTHENTICATEファンクション

このファンクションは、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 );

パラメータ

表29-7 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` | ウォレットにアクセスするためのパスワード。

例

    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;