Hi Sir, I want to create Reset Password or Forgot Password link in the login screen,when should i click on that it should redirect to a form where i can provide my username and new password and confirm password. But i need without custom authentication schema.Please help me with steps.
Vinish Kapoor
Hi Swarup,
Follow these steps to create a reset password option in Oracle Apex.
Create a new page and give the title reset password.
Add the following four page items/text fields in it:
Create two buttons, Submit and Cancel.
Submit button should submit the page.
Now create a process in process tab as follows:
Try this and let me know.
Also, if your new page type is normal, you can create a branch to redirect to the login page or if the page type is dialog, then create a close dialog process below the above process.
But the limitation is, you have to specify the old password in the default authentication system.
Swarup
Thanx Sir its Working fine,
But if somebody forgot his old password then how to do that
Vinish Kapoor
Then the admin has to change it manually from the manage workspace users option.
Swarup
But i am making a end user signup page credentials where a user will register himself from outside in that case i need forgot password
Vinish Kapoor
You mean, you are creating workspace users using APEX_UTIL.CREATE_USER?
If yes, then you can do one thing.
After creating the user, in the same process, insert a record into a table. This way you will be able to record the password.
Now for forgot password, you can use the apex_util.reset_password the procedure, but before calling it, get the old password from the table on behalf of the username. So that you can pass it to the reset_password procedure.
Are you getting my idea?
najeeb Alikhel
I did this but gives this error you can see
i have created a form with four items
and two buttons one for cancel and second for submit
for cancel button i created branch to redirect to home page
and for submit button i created process as well as branch to redirect to login page but it grants me this error
Vinish Kapoor
First, try only passing the old password and new password. It will reset the password for the current user. If this works, it means the other user is not having the admin privilege to reset the other user's password.
najeeb Alikhel
i used the old password and new password as well but did not work it out
najeeb Alikhel
i tried again but not working please any help
najeeb Alikhel
but i did not make a user in internal workspace but in my own workspace is it right?
the user is end user does not have any privilegs
Swarup
i am creating by using this in which i am getting password in the mail itself after that i am changing the password then how can i store password in a table and all the data are stored in APEX_WORKSPACE_APEX_USERS table,how to implement forgot password please guide me with steps if possible please sir
apex_util.create_user (
p_user_name => x.user_name,
p_first_name => x.first_name,
p_last_name => x.last_name,
p_email_address => x.email_address,
p_web_password => temp_pass,
p_group_ids => example_group_id
Vinish Kapoor
It means, after logging in from the temporary password the user has to change the password on the first logon.
In this case, I won't be able to suggest you.
Swarup
Sir is there any other way to store password and change it is case of user forget password
Vinish Kapoor
With the default authentication, it is a little problematic.
Even I tried, the apex_util.fetch_user procedure to fetch the password, but I got it in the encrypted format. I am going to share this question on Twitter so that maybe you can get help from the other community members.
Swarup
Sir,
By using
BEGIN
APEX_UTIL.CHANGE_CURRENT_USER_PW ('secret99');
END;
we can change password but after login but can we give the username and can implement this,
if yes please guide me sir please
Vinish Kapoor
No you can't, apex_util.change_current_user_pw accepts only one argument.
You can try apex_util.reset_pw, but there is a need for administrative privileges to execute this procedure.
The syntax of apex_util.reset_pw is:
Swarup
Sir is there any other way
Swarup
please help me i will wait for your answer please guide me i will be very thankful to u.
Swarup
I got one suggestion will it work if yes can u guide me sir plz
1. Forget Password button on login page
2. On click -> Ask for email address or usuername
3. On submit -> Send email to user with one-time link. That one-time like means, you are passing some unique key generated and store against that user while requesting the reset password.
4. User will click on the link (new public page)
5. Validate your unique key sent as a parameter of this page
6. That key will tell you about which record we need to reset password for
7. User will enter new password here and confirm password
8. Update you password in database and go back to login page
Vinish Kapoor
The question is, how will you get the old password?
Because apex_util.reset_password requires the old password parameter.
We already know which record/user needs to be updated if the user enters the username in the new reset password page.
Explain the 8th step; how are you planning to do that?
Swarup
Hi sir,
If we are using custom end user registration page then can we make forget password page without old password
Vinish Kapoor
Then three is no need of an old password, and also you no need to use the apex_util.reset_password procedure.
Because in custom authentication, we have a table for users, for example, app_users table.
You can only then update the password with just an update statement. Below is an example:
Using custom authentication, you can manage users easily.
Swarup
Hi,
After Creating custom signup page i have created a user when i m trying to login i am getting error
Vinish Kapoor
It means you didn't follow all the steps properly from the link I shared.
In that tutorial, in the third step, I mentioned creating these application items.
Please check and follow all the steps.
Swarup
it was resolved thnx sir
Swarup
Hi sir,
If you don't mind can we have a call for some discussion.
Vinish Kapoor
No sorry.
I created this forum to help you guys through this forum only.
You ask questions here; I will try my best to resolve your issues.
Swarup
how can we create administrator in custom who can access to all the data and views becoz i have to restrict data and form to the end user
ex:i have 7 form for the administrator and admin can view all data of all users
but there are only 4 form that can end user can view and the data he can view what he can enters only and an end user 1 can't view data of end user 2
Vinish Kapoor
In that app_users table, there is a column user_type in which you can store user types such as ADMIN, ENDUSER, etc.
And on behalf of this user_type column, you can restrict the data.
This is an entirely different topic now; if more queries for this, please ask as a separate question.