22.4 VALIDATEプロシージャ

このプロシージャは、指定されたトークンを検証します。

構文

procedure validate (
     p_token          in t_token,
     p_iss            in varchar2    default null,
     p_aud            in varchar2    default null,
     p_leeway_seconds in pls_integer default 0 );

パラメータ

表22-4 VALIDATEプロシージャのパラメータ

パラメータ 説明

p_token

JWT。

p_iss

NULLでない場合、issクレームが p_issと等しいことを検証します。

p_aud

NULLでない場合、単一のaud値がp_audと等しいことを検証します。audが配列の場合、azp (認可パーティ)クレームがp_audと等しいことを検証します。これはOpenIDの拡張機能です。

p_leeway_seconds

exp (有効期限)、nbf (有効期間の開始日)およびiat (発効日)の各クレームを比較するための誤差(秒単位)。

Raises

APEX.ERROR.INTERNAL: 検証が失敗しました。詳細はデバッグ・ログを確認してください。

l_valueが有効なOpenID IDトークンであることを検証します。

declare
     l_value varchar2(4000) := 'eyJ0 ... NiJ9.eyJ1c ... I6IjIifX0.DeWt4Qu ... ZXso';
     l_oauth2_client_id varchar2(30) := '...';
     l_token apex_jwt.t_token;
begin
     l_token := apex_jwt.decode (
                    p_value => l_value );
     apex_jwt.validate (
         p_token => l_token,
         p_aud => l_oauth2_client_id );
end;