Итак, я работаю над пользовательской аутентификацией в oracle apex. При этом я хочу добавить функцию сброса пароля, поэтому я использовал функцию Pl/SQL
для сброса пароля, сначала она проверяет пользователя по электронной почте, а затем отправляет ссылку на электронную почту, поскольку перенаправляет пользователей, сбрасывающих область пароля. там он показывает эту ошибку . Долгое время эта ошибка отображается, и я не знаю, как ее исправить ... Это пользовательский код аутентификации
create or replace function MY_AUTHENTICATION
(p_username in VARCHAR2,
p_password in VARCHAR2)
return BOOLEAN
is
l_user USER_TABLE.user_name%type := upper(p_username);
l_hash USER_TABLE.set_password%type;
begin
select user_name, set_password
into l_user, l_hash
from USER_TABLE
where user_name = p_username and set_password = p_password;
RETURN TRUE;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN FALSE;
end;
, а это мой код сброса пароля
BEGIN
APEX_CUSTOM_AUTH.SET_USER('COMIDA');
APEX_CUSTOM_AUTH.LOGIN(
P_UNAME => 'COMIDA',
P_PASSWORD =>'1234567890',
P_SESSION_ID => :SESSION,
P_APP_PAGE => :APP_ID
);
APEX_UTIL.RESET_PASSWORD(
P_USER_NAME => UPPER(:P15_USER_NAME),
P_OLD_PASSWORD => NULL,
P_NEW_PASSWORD=> :P15_PASSWORD,
P_CHANGE_PASSWORD_ON_FIRST_USE => FALSE
);
APEX_AUTHENTICATION.LOGOUT(:SESSION,:APP_ID);
END;