Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
vBSSO - vBulletin Single Sign-On Details »»
vBSSO - vBulletin Single Sign-On
Version: 1.6.4, by xeagle xeagle is offline
Developer Last Online: Apr 2019 Show Printable Version Email this Page

Category: Add-On Releases - Version: 4.x.x Rating:
Released: 09-17-2011 Last Update: 06-27-2014 Installs: 242
DB Changes Uses Plugins Auto-Templates
Re-useable Code Additional Files  
No support by the author.

vBSSO is a vBulletin plugin that helps you connect to different software platforms like content management systems, blogs, and online stores using a secure Single Sign-On

The system has two components. First, there?s a vBulletin plugin that creates an interface for authenticating, controlling access, and managing user profile data. The second component is plugins for other platforms (like WordPress) that teach it to talk to vBulletin and exchange data. Here?s a list of support platforms.

Supported Platforms (https://www.vbsso.com)
  • vBulletin
  • WordPress
  • WordPress Multisite
  • Drupal
  • Mediawiki
  • Moodle
  • Prestashop
  • DokuWiki
  • Joomla
  • Magento

SSO Key Features
  • Run across different sub-domains, domains, servers and ports
  • Easy setup & configuration
  • Automatically log into third party applications when you log into vBulletin
  • Automatically log out of third party applications when you log out of vBulletin

Single Sign-On
  • Log to third party applications through vBulletin
  • Log out of third party applications through vBulletin
  • Register to third party applications through vBulletin
  • Recover password to third party applications through vBulletin

License
  • Free, open source
  • GNU general public license, version 2
  • Reusable code

Safety
  • Encrypted data exchange via private unique shared key
  • Friends with firewalls
  • Communicates purely through API of the connected platform
  • Basic Access Authentication support

Setup & Configuration
  • Quick startup
  • Advanced configuration options
  • Backup & Restore

Avatars
  • Sync vBulletin avatars with third-party applications

User Groups
  • Restrict access to third-party applications using vBulletin usergroups
  • Add visitors of third-party applications to vBulletin usergroups

Miscellaneous
  • Custom vBulletin login page
  • Custom vBulletin registration page
== Changelog ==

= 1.6.4 =
  • Feature #6421: vBSSO | Add PHP 7.1, 72 support. Fixed PHP warnings.
  • [Updated on March 26, 2019]

= 1.6.1 =
  • Added PHP 5.3, 5.4, 5.5, 5.6, 7.0 support for vBulletin 4.2.
  • Fixed an issue when vBulletin throws the Warning: Invalid argument supplied... in case of connecting platforms on different domains/BAA.
  • Fixed an issue when user location is shown as unknown on the "Currently Active Users" page.
  • Other enhancements and bugs fixes.
  • [Updated on July 25, 2017]

= 1.6.0 =
  • Added PHP 5.4, 5.5, 5.6, 7.0 support for vBulletin 4.1.x.
  • Fixed the issue when download logs function was not working and was displaying an empty white screen (PHP5.6).
  • EOL (End-of-life due to the end of life of this version) for PHP 5.2 support.
  • EOL (End-of-life due to the end of life of this version) for vBulletin 3.x support.
  • Other enhancements and bugs fixes.
  • [Updated March 10, 2017]

= 1.5.1 =
  • Fixed an issue when vBulletin redirects to WordPress search page after сlearing the browser's cookie and cache.
  • [Updated February 19, 2016]
= 1.5 =
  • Fixed fatal error on logout operation if logout is initiated from "vBulletin Mobile Suite".
  • Enhanced intensive logging to troubleshoot issues with ease.
  • Added vBulletin 5 compatibility notifications message on installation.
  • [Updated August 31, 2015]

= 1.4.16 =
  • Added PHP 5.6 support
  • Added support of cross-domain single-sign on in Internet Explorer.
  • Fixed an issue when vBSSO didn't connect platform with strong www redirect.
  • Fixed an issue when vBulletin didn't work as a child platform.
  • Fixed an issue when vBSSO widget for Wordpress didn't show the number of notifications due to bug on vBulletin side.
  • Other enhancements and bugs fixes.
  • [Updated June 04, 2015]

We strongly recommend you to upgrade vBSSO to the latest version (1.4.15)

= 1.4.15 =
  • Fixed the potential SQL injection vulnerability that might display md5 version of password (the original password is safe).
  • Fixed an issue when sometimes avatars are not fetched and displayed in connected to vBulletin platforms.
  • Fixed an issue when some redirects in vBulletin 3.x were processed improperly.
  • Fixed an issue when sometimes white screen was displayed after registration.
  • Fixed <base> tag for vBulletin 3.x
  • Other enhancements and bugs fixes.
  • [Updated January 20, 2015]

= 1.4.14 =
  • Fixed "Support www alias" option on "Connect Platform" page.
  • Fixed <base> tag behavior when "Always use Forum URL as Base Path" option disabled.
  • Other enhancements and bugs fixes.
  • [Updated November 17, 2014]

= 1.4.13 =
  • Implemented possibility to get vBulletin notifications counter through vBSSO.
  • Improved avatars rendering method.
  • Added usergroups support in vBulletin as connected platform.
  • Added a new warning entry to ?Warnings? page identifying vBulletin hooks status.
  • Added a new warning entry to ?Warnings? page identifying forum accounts with empty username.
  • Added a new warning entry to ?Warnings? page identifying missing PHP extensions.
  • Added a new warning entry to ?Warnings? page identifying disabled PHP functions required by vBSSO.
  • Added support for authorization both with www and without it.
  • Fixed an issue, when the platform couldn?t be disconnnected while uninstalling vBSSO.
  • Fixed AdminCP login issue.
  • Fixed E_NOTICE errors in debug mode.
  • Other enhancements and bugs fixes.
  • [Updated November 1, 2014]

= 1.4.12 =
  • Made the version compatible with other extensions like "PurevB Theme Manager", "GlowHost - Spam-O-Matic", "PhotoPost vBGallery".
  • Added a new warning entry to "Warnings" page identifying forum accounts with duplicated username/email and empty email addresses.
  • Added a forum "moderation" page support while user is being registered through vBSSO.
  • Logout is not any longer restricted by "Access Settings" configuration.
  • Adding "https" domains to forum "whitelist".
  • Fixed the "logs in .zip" downloading issue.
  • Resolved "Logout" issue for user with no forum access privileges when two forums are connected to each other.
  • Adjusted "Access Settings" to handle login access restrictions properly.
  • Other enhancements and bugs fixes.
  • [Updated June 17, 2013]

= 1.4.11 =
  • Prepared the feature to handle broken user accounts between WordPress and vBulletin.
  • Enhancements and bugs fixes.
  • [Updated May 22, 2013]

= 1.4.10 =
  • Added usergroups support in vBSSO vBulletin. Other vBSSO extensions should implement vBSSO vBulletin usergroups API to support usergroups on a connected platform.
  • Implemented an ability to login visitors by their email address.
  • Improved support of vBulletin SSL mode.
  • Improved vBSSO avatars lookup performance.
  • Removed unsed 'cssrollup_vbsso.xml'.
  • Fixed login issue through vBulletin API. Tapatalk compatible.
  • Fixed the issue when "Show vBulletin Profile" option is not being updated in case of connection two forums.
  • Fixed the issue when the platform couldn't be connected if "Allowed User Groups" is filled out to restrict login access.
  • Other enhancements and bugs fixes.
  • [Updated May 20, 2013]

= 1.4.9 =
  • Restored the visibility of the activation message showed before user proceeds with login after registration process.
  • Improved "Logging & Notifications" section to get much quicker and flexible access to log files.
  • Added a special section called "Warnings" to warn administrators about potential issues required to be solved.
  • Added tips to "Access Settings" section.
  • Improved the verification process in case if we establish forum to forum connection.
  • "vBulletin Links" section was renamed to "Link Custom Pages".
  • Enhancements and bugfixes.
  • [Updated February 01, 2013]

= 1.4.8 =
  • Made vBSSO "vBulletin 4.2.0 PL3" compatible.
  • Added new supported profile fields "Birth", "Phone".
  • Enhancements and bugfixes.
  • [Updated October 26, 2012]

= 1.4.7 =
  • Extended the authentication and login vBSSO API.
  • Added 4 new hooks (vBSSO Login Event, vBSSO Logout Event, vBSSO Authentication Event, vBSSO Register Event).
  • Fixed creating user from admincp.
  • Fixed Admin Panel menu items order.
  • Enhancements and bugfixes.
  • [Updated October 26, 2012]

= 1.4.6 =
  • Implemented support of SSL.
  • Handled endless redirect once it finds non-compatible accounts.
  • Fixed the conflict when "Save stylesheets to files" option is enabled in vBulletin 3.x.
  • Enhancements and bugfixes.
  • [Updated September 23, 2012]

= 1.4.5 =
  • Implemented support of avatars for connected vBulletin platform.
  • Implemented support of user profile and author links for connected vBulletin platform.
  • Adjusted login form for connected vBulletin platform.
  • Implemented the feature to update the settings of all the connected platforms as soon as master plugin is upgraded.
  • Enhancements and bugfixes.
  • [Updated September 03, 2012]

= 1.4.4 =
  • Added vBulletin 3.x compatibility.
  • Added support of vBulletin connection as slave platform.
  • Fixed an issue on adding new user from admincp when it is not added to the connected platforms.
  • Fixed "Class 'LoggerReflectionUtils' not found" issue.
  • [Updated August 10, 2012]

= 1.4.3 =
  • Http status code 100 shouldn't be tracked as error - fixed.
  • Adjusted extensive debug logging of the response errors.
  • Fixed an issue when sometimes avatars are not fetched and displayed in connected to vBulletin platforms.
  • [Updated June 22, 2012]

= 1.4.2 =
  • Resolved installation error "Invalid SQL: INSERT INTO `vbsso_users`" thrown in cases when account duplicates exist. We check for the duplicates and throw the warning during the installation phase.
  • Fixed Fatal error: Call to undefined function print_cp_header() error when vBulletin is configured to have custom named AdminCP folder.
  • Implemented un-installation hook to disconnect all the connected to vBSSO platforms.
  • Added a check to warn if vBulletin "User Registration Options -> Require Unique Email Addresses" is disabled and duplicated accounts are allowed.
  • [Updated November 17, 2011]

= 1.4.1 =
  • Fixed Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'Logger::warning' was given in /vbsso/includes/functions_logging.php.
  • [Updated October 10, 2011]


= 1.4 =
  • Refined Notifications section, renamed it to Logging & Notifications, added the options to log vBSSO logic, keep logging files and send log messages to email.
  • Improved installation process by cleaning up the database before the product is completely installed.
  • Improved installation process by adding a check for the required PHP extension before the plugin is completely installed or upgraded.
  • Fixed the issue that might be a cause of the empty page in admincp.
  • Moved the settings to standard vBulletin Options.
  • Moveed Backup & Restore to standard vBulletin Backup & Restore facility.
  • Added vBulletin 4.x version as a dependency for the plugin.
  • Removed option to set Forum Path.
  • [Updated September 28, 2011]

= 1.3 =
  • Added sending of the authentication event to the connected platform as soon as user is registered in vBulletin.
  • Fixed issue with ':' delimiter located between host and port in url in case of using non-standard port #80
  • Added support to redirect to lost password page via API.
  • Added config.custom.default.php file as a config sample.
  • Fixed "Warning: Call-time pass-by-reference has been deprecated" error.
  • Added error message in case if platform couldn't be verified for some reason.
  • Removed the extra steps to set up forumpath setting, it's being setup automatically during plugin installation.
  • Fixed css to display "SSO provided By" text correctly in different theme layouts.
  • [Updated September 18, 2011]

= 1.2 =
  • First release
  • [Created September 10, 2011]

Project Supported by Diabetes Daily
"We are in dept to those who have donated their code and advice to us over the last six years. Without that support, we would never have built one of the most successful diabetes communities. This is our way of 'paying it forward' so others can do more better and faster." - David Edelman, Co-Founder of Diabetes Daily

Download Now

Download Now

File Type: zip vbsso.zip (180 Bytes, 465 views)

Screenshots

File Type: png screenshot-1.png (126.9 KB, 0 views)
File Type: png screenshot-2.png (166.7 KB, 0 views)
File Type: png screenshot-3.png (276.4 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #392  
Old 12-22-2012, 04:48 AM
xeagle xeagle is offline
 
Join Date: Sep 2011
Posts: 477
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by xeagle View Post
Thanks for the catch, we have added it to the issues list to release a fix in next update.
Could you please report an issue through http://vbsso.com/report-an-issue/ with posting a log with real information to let tech team figure our the cause of the issue. Currently there is an assumption that you have users with restricted symbols used for their usernames.
Reply With Quote
  #393  
Old 12-22-2012, 05:40 PM
RedFoxy's Avatar
RedFoxy RedFoxy is offline
 
Join Date: Sep 2007
Location: Italy
Posts: 179
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by xeagle View Post
Could you please report an issue through http://vbsso.com/report-an-issue/ with posting a log with real information to let tech team figure our the cause of the issue. Currently there is an assumption that you have users with restricted symbols used for their usernames.
Sent, I've users with simbols like # ' ^ etc... I can't restrict that now
Reply With Quote
  #394  
Old 12-22-2012, 05:54 PM
smirkley smirkley is offline
 
Join Date: Apr 2008
Posts: 627
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Will this mod let me connect two instances of vb(fully licenced of course) together, with only one that allows registration?
Reply With Quote
  #395  
Old 12-24-2012, 05:43 AM
gokhansancar gokhansancar is offline
 
Join Date: Oct 2010
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by xeagle View Post
It shouldn't happen, but we will check this definitely.

Originally Posted by adambloch
Another little problem comes for the people who are registering....

After you register the VBSSO takes you straight back to the forum and doesn't display the message about An email has been dispatched to ....

Any thoughts? It has caused a masive increase in people waiting for conformation via emails...

Many thanks

A
It shouldn't happen, but we will check this definitely.
Did you get a chance to look at this problem?
Reply With Quote
  #396  
Old 12-25-2012, 05:37 AM
xeagle xeagle is offline
 
Join Date: Sep 2011
Posts: 477
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by gokhansancar View Post
Did you get a chance to look at this problem?
The problem has been already resolved and an improvement should be a part of the release at the beginning of January, 2013.
Reply With Quote
  #397  
Old 12-25-2012, 05:38 AM
xeagle xeagle is offline
 
Join Date: Sep 2011
Posts: 477
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by smirkley View Post
Will this mod let me connect two instances of vb(fully licenced of course) together, with only one that allows registration?
Yes, it certainly will.
Reply With Quote
Благодарность от:
smirkley
  #398  
Old 12-25-2012, 05:41 AM
xeagle xeagle is offline
 
Join Date: Sep 2011
Posts: 477
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by RedFoxy View Post
Sent, I've users with simbols like # ' ^ etc... I can't restrict that now
Please keep in mind that Mediwiki doesn't originally support such symbols in username. We have been looking how to solve this issue.
Reply With Quote
  #399  
Old 12-27-2012, 05:18 PM
xeagle xeagle is offline
 
Join Date: Sep 2011
Posts: 477
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ihstiv View Post
Can someone help me understand exactly how the 'vBSSO Access Settings ' options should be configured just to sync vbulletin 'registered user' and WP 'subscriber' ? My goal is to allow my logged in VB 'registered users' to comment on my WP posts and have their VB username and avatar appear next to the WP post comment.

Currently, I have success with connecting my VB 4.2 and WP 3.5, but when I navigate from VB to WP it does not show me as a logged in user in the WP post comment form unless I manually log in via the vbsso login form WP widget. Then it does show me as logged in in the comment form as desired.

Here are the 3 fields - I'm too dense to figure out exactly what they mean w/o an example:

Allowed User Groups
User groups having access to any platform (separated by comma)

Allowed WordPress User Groups
User groups having access to WordPress platform (separated by comma)

Associated WordPress User Groups
User groups associating visitors from WordPress platform (separated by comma)

Thanks!

Update: shortly after posting the above I logged in with the vbsso WP widget, and then logged out w/ the VB logout link and noticed that it also logged me out of WP, then I logged in again w/ the VB login and it also logged me into WP as desired. This was after I cleared everything from all of the 'access settings' fields and just left them blank. So I learned that by leaving all 3 fields blank, a VB registered user becomes a WP subscriber by default.

When I log in as VB admin, my WP role is also 'Subscriber' by default, so now I just need to know how to set it up to sync VB administrator as WP administrator...?

i tried adding Administrator and Administrators to all 3 fields in all possible combos to no avail. maybe I'm not supposed to be able to get in to WP admin w/ VB admin role?

Thanks
Sure. What you are looking is already ready and working out of the box. You just need to install plugins for vBulletin and WordPress and connect WordPress from vBulletin. The options to show username and avatar are available at WordPress vBSSO Settings.

Sounds good that you have a chance to log in to WordPres from vBulletin and vice versa. The "Allowed XXX User Groups" means that all the users added to the vBulletin usersgroup are able to log in to XXX, otherwise it doesn't log them in to XXX. It's so useful if you want to restrict access to WordPress for some usergroups.

"Associated XXX User Groups" means that users registered on your forum from XXX automatically assigned to the connected usergroups.

Currently vBSSO doesn't sync roles, however we have received enough requests to support this feature and it's going to be implemented and received next year.
Reply With Quote
  #400  
Old 12-27-2012, 06:57 PM
ihstiv ihstiv is offline
 
Join Date: Jan 2009
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by xeagle View Post
Sure. What you are looking is already ready and working out of the box. You just need to install plugins for vBulletin and WordPress and connect WordPress from vBulletin. The options to show username and avatar are available at WordPress vBSSO Settings.

Sounds good that you have a chance to log in to WordPres from vBulletin and vice versa. The "Allowed XXX User Groups" means that all the users added to the vBulletin usersgroup are able to log in to XXX, otherwise it doesn't log them in to XXX. It's so useful if you want to restrict access to WordPress for some usergroups.

"Associated XXX User Groups" means that users registered on your forum from XXX automatically assigned to the connected usergroups.

Currently vBSSO doesn't sync roles, however we have received enough requests to support this feature and it's going to be implemented and received next year.
Thanks for this explanation - would it be possible for you to say it again without using 'XXX' - that is causing me some confusion.

It would be even better if you could provide an example using the default usergroup names for VB and WP and these fields:

Allowed User Groups
User groups having access to any platform (separated by comma)

Allowed WordPress User Groups
User groups having access to WordPress platform (separated by comma)

Associated WordPress User Groups
User groups associating visitors from WordPress platform (separated by comma)

Thanks again.
Reply With Quote
  #401  
Old 12-28-2012, 03:32 PM
ndahiya ndahiya is offline
 
Join Date: Aug 2004
Posts: 210
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Flightbase View Post
Hi,

thanks for your answer. Actually I`m really confused.



Well, if a users gets signed in, there is no information "delivered" by vbsso what usergroups a user got?

I got some idea, but don`t know, if that is the correct approach:
I could rename the usergroups of mediawiki to the usergroup names of vbulletin.

In this case mediawiki needs to know in which usergroups the current user is (in vbulletin)?
But as far as I understood, that isn`t the case...

greets, Nik
Passing usergroup/roles would be a critical need for mediawiki, imho. hopefully it can be moved up the list of issues being addressed. Thanks.

ndahiya
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:48 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05962 seconds
  • Memory Usage 2,402KB
  • Queries Executed 28 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (9)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (22)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (4)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete