cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4943
Views
10
Helpful
19
Replies

ISE-2.6-Self Service/Password Change Portal Not Working

nspasov
Cisco Employee
Cisco Employee

I was trying to get a Self-Service/Password Change portal based on the instructions provided in the thread below but I am not able to get it working:

https://community.cisco.com/t5/identity-services-engine-ise/ise-password-change-portal-ucp-with-my-devices-portal/td-p/3475680/page/2

  • I created the portal several times but the page after a successful login never loads. Instead, it just goes to a blank screen so I never get to see the "Change Password Screen" The URL that loads shows:https://192.168.40.106:8443/mydevicesportal/LoginSubmit.action?from=LOGIN
  • Removing the Javascript that hides the unnecessary pages "fixes" and the post-login page loads fine so perhaps the Javascript code does not work with ISE 2.6
  • I tried this with Chrome, Firefox and IE.
1 Accepted Solution

Accepted Solutions

We are working on tweaking this offline, here is the current fix

 

Please try this

 

Please check the below script in the following 3 pages in My devices portal customization.

 

1 ) Login Page

============

<script>

$(document).on('pageshow', function() {

sessionStorage.setItem('passwordChanged', false);

});

</script>

 

2) Change Password page

======================

<script>

setTimeout(function(){

sessionStorage.setItem('passwordChanged', false);

$('#ui_changepwd_cancel_button').attr('href', 'javascript&colon;document.forms["logout"].submit()');

 

$('#ui_changepwd_submit_button').on('click', function(evt){

sessionStorage.setItem('passwordChanged', true);

});

}, 1000);

</script>

 

3) My Devices page

==================

<script>

$(document).on('pageshow', function() {

$('.ui-panel-content-wrap').hide();

var error = $('.cisco-ise-errors');  

var hasErrors = error.length > 0;

var passwordChanged = sessionStorage.getItem('passwordChanged') == "true";

if (!hasErrors && passwordChanged) {

alert('Password has been changed');

sessionStorage.setItem('passwordChanged', false);

document.forms['logout'].submit();

}

else if (!passwordChanged){

document.forms['changePasswordPreLoad'].submit();

}  

});  

</script>

 

Thanks,

Sivakami.

View solution in original post

19 Replies 19

Jason Kunst
Cisco Employee
Cisco Employee
I see you posted this query in 2 places , can you delete the comment to the other page and will see how we can correct.

I posted in the original thread in case someone else came across it. I just tried to delete the comment but I don't seem to have that functionality. However, I did update the comment to reference this thread in case someone runs into the same issue and visits the original thread. 

Thanks will have someone look, did you try adjusting the delay?

Thank you Jason! I did play with the delay to prevent the "My Devices" page from appearing but that did not fix the post-login screen issue. 

Hi Jason. I wanted to see if you had an update for this issue. Thank you! 

still working on it. I would also connect internally with the PMs if you haven't already to see if they can put an actual feature request on roadmap for this portal.

We are working on tweaking this offline, here is the current fix

 

Please try this

 

Please check the below script in the following 3 pages in My devices portal customization.

 

1 ) Login Page

============

<script>

$(document).on('pageshow', function() {

sessionStorage.setItem('passwordChanged', false);

});

</script>

 

2) Change Password page

======================

<script>

setTimeout(function(){

sessionStorage.setItem('passwordChanged', false);

$('#ui_changepwd_cancel_button').attr('href', 'javascript&colon;document.forms["logout"].submit()');

 

$('#ui_changepwd_submit_button').on('click', function(evt){

sessionStorage.setItem('passwordChanged', true);

});

}, 1000);

</script>

 

3) My Devices page

==================

<script>

$(document).on('pageshow', function() {

$('.ui-panel-content-wrap').hide();

var error = $('.cisco-ise-errors');  

var hasErrors = error.length > 0;

var passwordChanged = sessionStorage.getItem('passwordChanged') == "true";

if (!hasErrors && passwordChanged) {

alert('Password has been changed');

sessionStorage.setItem('passwordChanged', false);

document.forms['logout'].submit();

}

else if (!passwordChanged){

document.forms['changePasswordPreLoad'].submit();

}  

});  

</script>

 

Thanks,

Sivakami.

Hi Jason and thank you for the update. Apologies for the delayed reply on my end as I was traveling. The new scripts got me in a better place where the portal loads correctly and I was able to perform a password change. The only missing/broken piece now is the "Success Page" after a successful password change. At the moment, the portal just loads a blank page when a successful password change is performed. If there are any errors, the portal loads fine informing the user of the errors that required to be corrected. 

Not sure if this is related but the little preview window for "My Devices" that is located on the right hand side of the window shows a 404 Error:

image.png

Where you able to resolve the 404 error?

javier437, I'd suggest you to use the API/Python of the post below.

you cannot do a preview of a complex portal page script

Jason once a user changes their password all they get is a blank screen. The password does get changed and that works with no problem, really the only issue here is that there is no confirmation that it was changed successfully.

What version are you using

I am using version 2.6.0.156.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: