このファンクションは、ロー・トークン値をデコードします。
構文
function decode ( p_value in varchar2, p_signature_key in raw default null ) return t_token;
パラメータ
表20-3 DECODEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
ロー・トークン値にはBase64でエンコードされた3つの部分が含まれ、各部分は |
|
NULLでない場合は、このキーおよびヘッダーに指定されているアルゴリズムを使用して |
戻り値
t_token
。
Raises
VALUE_ERROR
: 入力値は無効です。
WWV_FLOW_CRYPTO.UNSUPPORTED_FUNCTION
: サポートされていないファンクションを使用してトークンが署名されています。
例
この例では、エンコードされたトークンをデコードし、その内容を出力します。
declare l_token apex_jwt.t_token; l_keys apex_t_varchar2; begin l_token := apex_jwt.decode ( p_value => 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI' ); sys.dbms_output.put_line('--- Header ---'); apex_json.parse(l_token.header); l_keys := apex_json.get_members('.'); for i in 1 .. l_keys.count loop sys.dbms_output.put_line(l_keys(i)||'='||apex_json.get_varchar2(l_keys(i)); end loop; sys.dbms_output.put_line('--- Payload ---'); apex_json.parse(l_token.payload); l_keys := apex_json.get_members('.'); for i in 1 .. l_keys.count loop sys.dbms_output.put_line(l_keys(i)||'='||apex_json.get_varchar2(l_keys(i)); end loop; end;
出力:
--- Header --- alg=HS256 typ=JWT --- Payload --- loggedInAs=admin iat=1422779638
親トピック: APEX_JWT