21.4 認証によるユーザー・アイデンティティの証明
認証を使用してアプリケーションへのアクセスを制御するためのユーザーのアイデンティティを証明します。認証では、ユーザーにユーザー名とパスワードの指定を要求するか、またはデジタル証明書や保護キーを使用する可能性があります。
- 認証の理解
認証について学習します。 - 事前構成済の認証スキームの理解
事前構成済の認証スキームについて学習します。 - 既存の認証スキームの構成
既存の認証スキームの様々な設定およびプログラム・フックを構成します。 - アプリケーションに関連付けられた認証スキームの表示
アプリケーションに関連付けられたカレント認証スキームを表示します。 - 認証スキームの作成
アプリケーションに認証スキームを関連付けるには、共有コンポーネント・ページで認証スキームを作成します。 - アプリケーションに関連付けられた認証スキームの変更
アプリケーションに関連付けられた認証スキームを変更します。 - ログイン・ページの作成
アプリケーションのログイン・ページを作成します。 - プロシージャを使用した実行時の認証の構成
セキュリティ・ページでプロシージャを指定して、実行時に認証を構成します。 - 認証スキーム・レポートの表示
認証スキーム・レポートを表示します。
親トピック: アプリケーション・セキュリティの管理
21.4.1 プロシージャを使用した実行時の認証の構成
セキュリティ・ページでプロシージャを指定して、実行時に認証を構成します。
プロシージャを指定して実行時に認証を構成するには:
例21-1 プロシージャmy_auth_config
この例は、マルチテナンシを実装し、テナントに対して様々なソーシャル・サインインをサポートするアプリケーション用です。この例では、URLのドメイン名を使用して構成データをフェッチします(たとえばhttps://cust-01.example.com
、https://cust-02.example.com
など)。
procedure my_auth_config (
p_conf in out nocopy apex_authentication.t_configuration )
is
l_host varchar2(32767) := sys.owa_util.get_cgi_env('HTTP_HOST');
begin
for i in ( select discovery_url,
auth_scheme_name,
credential,
tenant_id
from customer_tenants
where hostname = l_host )
loop
p_conf.authentication_name := i.auth_scheme_name;
p_conf.substitutions := apex_t_varchar2 (
'DISCOVERY_URL' , i.discovery_url,
'CREDENTIAL_STATIC_ID', i.credential );
p_conf.tenant_id := i.tenant_id;
end loop;
end my_auth_config;
このプロシージャは、in/outパラメータp_conf
の3つの属性を変更できます。これらはすべてオプションです。
authentication_name
- アプリケーションで認証スキームの名前を割り当てます。これはデフォルト・スキームのかわりに使用されます。そのスキームに対して「セッションの切替え」を有効にする必要があることに注意してください。substitutions
-apex_t_varchar2
を使用して名前と値のペアを割り当てます。Oracle APEXは、認証スキーム属性の各#NAME#
を、関連付けられた値に置き換えます。組込みソーシャル・サインイン・スキームでは、スキームに構成された資格証明ストアではなく、CREDENTIAL_STATIC_ID
を使用して対応する資格証明ストアを使用します。tenant_id
- セッションでこのテナントIDを設定します(APEX_SESSION.SET_TENANT_ID
を参照)。
親トピック: 認証によるユーザー・アイデンティティの証明