Forums / Developer / Possible Single Sign-On Method (Suggestions Welcome!)

Possible Single Sign-On Method (Suggestions Welcome!)

Author Message

Chad Paulson

Monday 26 November 2007 3:32:30 pm

Background: We have 2 siteaccesses (we'll use Site A and Site B to describe both sites) running under the same ez Publish install. We would like to implement a single sign-on / registration point which will accommodate all registration, authentication, and basic account maintenance (forgot user/pass, change password, change email) for Site A, Site B, and all 3rd party software (vBulletin, Mantis, etc).

After reviewing various options (LDAP, open ID, etc), I have a solution in mind that would allow my organization to stick with the dynamic profile generation methodology that we currently have implemented while, at the same time, allow us the flexibility to accommodate various 3rd party software solutions that require their own user tables.

This proposed solution would work in the following ways.

User Registration:
1) User registers at Site A or Site B.
2) User is sent a verification email
3) User fulfills verification requirements
4) Successful user verification triggers dynamic profile generation (currently exists).
5) User verification also triggers user creation in all 3rd party applications (vBulletin, Mantis, etc) via custom import scripts.

User Login:
1) User signs on via Site A or Site B.
2) Custom login handler will set session data for all 3rd party applications (There may be a better way to do this, I welcome all suggestions).

User Edit:
1) User will be redirected to Site A or Site B for the edit tasks listed below. Upon verification / completion, triggers will modify all 3rd party user tables to keep email and password (and any other relevant account information) in sync.
- Forgot user/pass
- Change password
- Change email address

2) Any 3rd party application specific edit functions will be handled by the application.

I hope I have given a clear overview, as well as covered all of the bases. The philosophy behind this implementation allows for a single point of authentication while minimizing 3rd party application hacks and plugins. This should allow for easier 3rd party application maintenance / upgrades (especially crucial to keep forum software secure and up to date).

Thanks in advance!

Laurent BOURREL

Monday 26 November 2007 11:36:49 pm

Hi,

Can't you use a SSO API like CAS ?
There's a contrib on it, perhaps you should look at it :
http://ez.no/developer/contribs/applications/smile_cas

Chad Paulson

Tuesday 27 November 2007 7:30:10 am

Thanks for the suggestion. I have looked at similar solutions. The reason I am not completely sold on solutions such as CAS and LDAP is largely due to the fact that accounts need to be automatically generated on the 3rd party software side (software such as vBulletin, Mantis). When a user registers on either of our ez Publish sites (Site A or Site B), they must also have access to vBulletin and Mantis.

Therefore, it's not just a single sign-on solution I am looking for, but an account generation / synchronization also.

Please let me know if my proposal falls out of line with best practices, as that is my main concern. Thanks again.

Yudi Setiawan

Sunday 06 April 2008 7:53:38 pm

Dear Chad,

I'm a newbie.
Have you found any solution yet to this issue?
Kindly please share.
I also planned to integrate eZ Publish with Mantis.

Thank you.

eZ debug

Timing: Jan 18 2025 11:08:53
Script start
Timing: Jan 18 2025 11:08:53
Module start 'content'
Timing: Jan 18 2025 11:08:54
Module end 'content'
Timing: Jan 18 2025 11:08:54
Script end

Main resources:

Total runtime0.8465 sec
Peak memory usage4,096.0000 KB
Database Queries199

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0069 587.8594180.8125
Module start 'content' 0.00690.7071 768.6719564.1719
Module end 'content' 0.71400.1325 1,332.8438337.3672
Script end 0.8465  1,670.2109 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00380.4526210.0002
Check MTime0.00140.1703210.0001
Mysql Total
Database connection0.00090.106910.0009
Mysqli_queries0.774391.46111990.0039
Looping result0.00210.24381970.0000
Template Total0.817896.620.4089
Template load0.00200.231820.0010
Template processing0.815896.366720.4079
Template load and register function0.00010.009310.0001
states
state_id_array0.00110.124710.0011
state_identifier_array0.00080.098020.0004
Override
Cache load0.00170.2001410.0000
Sytem overhead
Fetch class attribute can translate value0.00140.165740.0004
Fetch class attribute name0.00140.160050.0003
XML
Image XML parsing0.00080.100040.0002
class_abstraction
Instantiating content class attribute0.00000.001260.0000
General
dbfile0.00210.2446270.0001
String conversion0.00000.000630.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
2content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
4content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
9content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
5content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 22
 Number of unique templates used: 6

Time used to render debug report: 0.0001 secs