Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.3] Openid logout #2224

Open
wants to merge 44 commits into
base: Development
Choose a base branch
from
Open

[3.3] Openid logout #2224

wants to merge 44 commits into from

Conversation

Atticus29
Copy link
Collaborator

@Atticus29 Atticus29 commented Feb 14, 2025

Description

This PR completes the third party authentication workflow by propagating a remote logout in the auth provider to kill local Symbiota sessions. In other words, if you log out on, say, Microsoft (assuming it's the auth provider for your third party login), it automatically logs you out of your Symbiota session as well.

Pull Request Checklist:

Pre-Approval

  • There is a description section in the pull request that details what the proposed changes do. It can be very brief if need be, but it ought to exist.
  • Hotfixes should be branched off of the master branch and PR'd using the merge option (not squashed) into the hotfix branch.
  • Features and backlog bugs should be merged into the Development branch, NOT master
  • All new text is preferably internationalized (i.e., no end-user-visible text is hard-coded on the PHP pages), and the spreadsheet tracking internationalizations has been updated either with a new row or with checkmarks to existing rows.
    • N/A
  • There are no linter errors
  • New features have responsive design (i.e., look aesthetically pleasing both full screen and with small or mobile screens)
  • Symbiota coding standards have been followed
  • If any files have been reformatted (e.g., by an autoformatter), the reformat is its own, separate commit in the PR
    • classes/OpenIdProfileManager.php is autoformatted, but no other known branches touch this file, so it should not be a problem.
  • Comment which GitHub issue(s), if any does this PR address
    • N/A
  • If this PR makes any changes that would require additional configuration of any Symbiota portals outside of the files tracked in this repository, make sure that those changes are detailed in this document.

Post-Approval

  • It is the code author's responsibility to merge their own pull request after it has been approved
  • If this PR represents a merge into the Development branch, remember to use the squash & merge option
  • If this PR represents a merge into the hotfix branch, remember to use the merge option (i.e., no squash).
  • If this PR represents a merge from the Development branch into the master branch, remember to use the merge option
  • If this PR represents a merge from the hotfix branch into the master branch use the squash & merge option
    • a subsequent PR from master into Development should be made with the merge option (i.e., no squash).
    • Immediately delete the hotfix branch and create a new hotfix branch
    • increment the Symbiota version number in the symbase.php file and commit to the hotfix branch.
  • If the dev team has agreed that this PR represents the last PR going into the Development branch before a tagged release (i.e., before an imminent merge into the master branch), make sure to notify the team and lock the Development branch to prevent accidental merges while QA takes place. Follow the release protocol here.
  • Don't forget to delete your feature branch upon merge. Ignore this step as required.

Thanks for contributing and keeping it clean!

@Atticus29 Atticus29 requested review from MuchQuak and egbot and removed request for MuchQuak February 14, 2025 01:10
@Atticus29 Atticus29 marked this pull request as ready for review February 14, 2025 01:10
Copy link
Member

@egbot egbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall, but haven't actually tested the code since I figure that both you and Greg have already test that part thoroughly, but I do have a few comments:

  • Should the variables within the auth_config_template.php be uppercase indicating that they are global variables that will not be changed. Given that this is how we are doing it within the symbini.php configuration file.
  • We have only been entering local paths within the symbini.php configuration path with full paths generated within the code. This is particularly true when host is needed, since we can then use the GeneralUtil::getDomain() within the openIdAuth.php page to build full path, which is optimized to obtain the correct domain whether or not SERVER_HOST is properly set within symbini file, and it will self resolve certificate settings (http vs https) and port number.
  • Make sure not to merge into Development branch until after 3.2 is officialized and merged into Master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants