![]() |
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. Code:
function validateLogin( $username, $password ) 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. |
Cookies don't set unless a complete page load is presented to the browser. That is most likely the problem.
|
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. Code:
<?php |
Thanks for this!
|
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: PHP Code:
|
thanks guys, these posts were very helpful for me.
|
Quote:
|
All times are GMT. The time now is 12:10 AM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|