16.3 CREATE_CREDENTIALプロシージャのシグネチャ2

このプロシージャは、資格証明定義を作成します。

構文

PROCEDURE CREATE_CREDENTIAL (
    p_credential_name           IN VARCHAR2,
    p_credential_static_id      IN VARCHAR2,
    p_authentication_type       IN VARCHAR2,
    p_scope                     IN VARCHAR2         DEFAULT NULL,
    p_allowed_urls              IN apex_t_varchar2  DEFAULT NULL,
    p_prompt_on_install         IN BOOLEAN          DEFAULT FALSE,
    p_credential_comment        IN VARCHAR2         DEFAULT NULL,
    --
    p_db_credential_name        IN VARCHAR2         DEFAULT NULL,
    p_db_credential_is_instance IN BOOLEAN          DEFAULT NULL )

パラメータ

パラメータ 説明
p_credential_name 資格証明名。
p_credential_static_id 資格証明の静的ID。
p_authentication_type

認証タイプ。サポートされているタイプ:

  • APEX_CREDENTIAL.C_TYPE_BASIC
  • APEX_CREDENTIAL.C_TYPE_OAUTH_CLIENT_CRED
  • APEX_CREDENTIAL.C_TYPE_JWT
  • APEX_CREDENTIAL.C_TYPE_OCI
  • APEX_CREDENTIAL.C_TYPE_HTTP_HEADER
  • APEX_CREDENTIAL.C_TYPE_HTTP_QUERY_STRING
p_scope OAuth 2.0スコープ。
p_allowed_urls これらの資格証明がアクセスできるURLのリスト(APEX_T_VARCHAR2として)。
p_db_credential_name 参照するデータベース資格証明の名前。
p_db_credential_is_instance データベース資格証明がOracle APEXインスタンス・レベル(すべてのワークスペース)で使用可能になったかどうか。このパラメータは、INSTANCE_DBMS_CREDENTIAL_ENABLEDインスタンス・パラメータを使用してAPEXインスタンスに対してインスタンス資格証明が有効になっている場合にのみ使用できます。
p_prompt_on_install アプリケーションを別のAPEXインスタンスにインポートしているときに、この資格証明に対するプロンプトを表示するかどうかを選択します。
p_credential_comment 資格証明のコメント。

次の例では、新しいWeb資格証明OAuth Loginを作成します。

BEGIN
    -- set the workspace
    apex_util.set_workspace(p_workspace => 'MY_WORKSPACE');

    apex_credential.create_credential (
        p_credential_name       => 'OAuth Login',
        p_credential_static_id  => 'OAUTH_LOGIN',
        p_authentication_type   => apex_credential.c_type_oauth_client_cred,
        p_scope                 => 'email',
        p_allowed_urls          => apex_t_varchar2( 'https://tokenserver.mycompany.com/oauth2/token', 'https://www.oracle.com' ),
        p_prompt_on_install     => false,
        p_credential_comment    => 'Credential for OAuth Login' );

     -- store client ID and client secret into the credential
    apex_credential.set_persistent_credentials (
        p_credential_static_id  => 'OAUTH_LOGIN',
        p_client_id             => 'dnkjq237o8832ndj98098-..',
        p_client_secret         => '1278672tjksaGSDA789312..' );
END;