Register Members List Search Today's Posts Mark Forums Read

Reply
 
Thread Tools
  #1  
Old 29 Jun 2009, 22:52
budget_ben budget_ben is offline
 
Join Date: Jun 2009
Login from external app without any redirect

I've tried to read the great variety of login/redirect threads on the board but haven't found anything akin to what I'm trying to do.

I have a flash app that accesses a wide variety of server-side data via php scripts. What I am attempting is to allow the user to 'log in' via the flash application residing on the same server. I put the 'log in' in quotes only because I'm not expecting the user to be able to browse the forums via my wee app, I just need to authenticate a username/password combo and acquire a valid session.

A brief rundown of the sequence of events:
1. user is playing with the flash app and would like to save his/her progress.
2. a dialog box prompts for the username and password.
3. I do a POST to https://mysite.com/handleLogin.php
4. the php page validates the provided data and returns a 'go/no go' string to the flash app.

The problem I am running into is that the login code below does not work without using the do_login_redirect() function. With the correct username and password, it will return 'true' for a success but I'm not really logged in - when I browse to the forum index.php it acts as if I have not logged in.


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

So now my questions (finally):
1. Does anyone know why there needs to be a redirect? Does it need one to properly set the cookie/active user list?
2. Is there a way around this?

I appreciate any help you folks can provide.
Reply With Quote
  #2  
Old 30 Jun 2009, 05:44
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Real name: Hanson
Cookies don't set unless a complete page load is presented to the browser. That is most likely the problem.
__________________
Former vBulletin.org Staff Member

View My Modifications
29 Releases and Counting... Latest Modification: dmActivityStream - vBookie Integration (4.x)

Please do not PM me to ask for support - please use the relevant thread or forum.
Reply With Quote
  #3  
Old 30 Jun 2009, 16:01
budget_ben budget_ben is offline
 
Join Date: Jun 2009
Thanks for the help - simply re-loading the page seemed to do the trick.

Here's a complete example for anyone else interested in using the forum database as general purpose user authentication.


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.


Last edited by budget_ben; 30 Jun 2009 at 18:58. Reason: removed an erroneous comment in the code, removed unused defines
Reply With Quote
  #4  
Old 30 Jun 2009, 17:08
chaim_2003 chaim_2003 is offline
 
Join Date: Jan 2009
Thanks for this!
Reply With Quote
  #5  
Old 18 Nov 2009, 15:03
jwm0z jwm0z is offline
 
Join Date: Oct 2009
Reading this post helped me figure out why my session style (not cookie, cookie was fine) login was not working in an ajax function yet it was in a regular POST/redirect style flow.

A redirect is not explicitly needed, it is what happens during the redirect (exec_header_redirect()) which is needed. After looking through the code the reason it appears that a proper redirect is needed is that it eventually calls exec_shut_down() which saves the session.

I could not figure out why my session was not saved correctly with the user info inside and this is the reason.

So for a very simple login:


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

Thanks again for the 'redirect' tip-off, this has been pissing me off for about 2 days.
Reply With Quote
  #6  
Old 20 Nov 2009, 22:45
Molech Molech is offline
 
Join Date: Oct 2009
thanks guys, these posts were very helpful for me.
Reply With Quote
  #7  
Old 20 Aug 2011, 16:27
otlayi otlayi is offline
 
Join Date: Jan 2011
Originally Posted by jwm0z View Post
Reading this post helped me figure out why my session style (not cookie, cookie was fine) login was not working in an ajax function yet it was in a regular POST/redirect style flow.

A redirect is not explicitly needed, it is what happens during the redirect (exec_header_redirect()) which is needed. After looking through the code the reason it appears that a proper redirect is needed is that it eventually calls exec_shut_down() which saves the session.

I could not figure out why my session was not saved correctly with the user info inside and this is the reason.

So for a very simple login:


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

Thanks again for the 'redirect' tip-off, this has been pissing me off for about 2 days.
You sir, are a badass. Replacing my do_login_redirect() with exec_shut_down() and then my own header('Location: /') worked PERFECTLY. Mad props
Reply With Quote
Reply

Similar Threads
Thread Thread Starter Forum Replies Last Post
Mini Mods Login Redirect - Redirect your users to their User CP or Profile when logging on sockwater vBulletin 3.7 Add-ons 29 19 Jun 2012 18:07



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

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


New To Site? Need Help?

All times are GMT. The time now is 12:31.

Layout Options | Width: Wide Color: