General onetime service (#6340)
* General onetime service
- new onetime service with redirect
* more onetime service
* add onetime table and supporting methods
* fix previouse alter table error
add table to 700-701 upgrade
* database add onetime_auth
* add return redirect url from table if redirect token not included in onetime request
clean up test stuff index
* Telehealth Invitation with onetime integration (#23)
* Telehealth Invitation with onetime integration
Added a config option and integrated the telehealth invitation
* Fix join link creation with email
Email inviation was appending additional parameters which throws off the
one time join link.
* Add patient_portal_onsite_two to session
The patient_portal_onsite_two is part of the verify_session.php script
and needs to be set in the one time.
* Exceptions instead of die, additional session vars
Added additional session variables that were missing. Also changed the
die logic to use exceptions so we can both log it in the database and
redirect back to the login page for a better UX experience.
Until the core PR with the config gets merged in, defaulted the
telehealth config to be enabled for one time logins.
Changed the method signature to return the auth array so we can log the
pid in the one time usage. The service redirects the browser and relies
on the caller to exit once they've done any processing logic.
* remove redirect token from table
add flag to include redirect token in url
changes merged from Stephens branch
* Last two session variables that were missing (#24)
Found the last two session variables that were causing the session to
die by the portal/handle_note.php page.
* style fixes
remove unused session vars on redirect
* session regen after redirect
clean up crypto use
* conflict
* Onetime Changes - third party invite, fix settings. (#25)
* Last two session variables that were missing
Found the last two session variables that were causing the session to
die by the portal/handle_note.php page.
* Added generate invite link feature, fixed settings.
Implemented a generate invite link feature since we have to dynamically
generate an invite link now for the one time login links. Since the
links are generated on the backend server we have to have a two step
process for grabbing the session link. First the link is generated and
inserted into the DOM and then the browser can copy the link and the
invitation. Firefox and safari block the copy feature when the copied
content is generated asynchronously.
Fixed the settings stuff that got lost during the merge conflict.
Added a setting option to configure the expiration time on the the one
time links. Has a minimum of 1 minute and a maximum of 30 minutes. If
the setting is missing or invalid it defaults to 15 minutes.
Fixed the display of the request media permissions prompt.
Fixed some javascript errors when the conference room shuts down.
Fixed bug with the plain text email invitations missing the join link.
* additional updates
add new portal message alerts for onetimes
fix path slashes
* comment session id
* validate portal address from global to prevent mangled url
---------
Co-authored-by: Stephen Nielson <stephen.nielson@gmail.com>
25 files changed: