PDA

View Full Version : Single Sign On


pmbs
01-19-2015, 06:50 PM
I know this has been asked before but for the life of me I can't find an workable solution. How do you log in users outside of VB4? We have a private intranet site and I'm adding private forums to this.

I will be creating the users and will know their passwords (they will not know them). I need to log them in. I've done this in vb3 a number of years ago but can't get it to work in vb4. I'm working with php.

UPDATE

Figured it out. This is what worked for me using a combination of php and javscript to auto log them into the forums when they click the forums button from our website:

php

$hasher = md5('users password');

$destination = "'https://yourpathtothe/forums/login.php?do=login";
$params = "{
'url':'index.php',
'vb_login_username':'users login',
'vb_login_password':'".$hasher."',
'vb_login_md5password':'".$hasher."',
'vb_login_md5password_utf':'".$hasher."',
'do':'login',
'securitytoken':'guest',
's':''
}";


javascript

<html>
<head>
<script>
function post_to_url(path,params) {
method = "post";

var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);

//Move the submit function to another variable
//so that it doesn't get overwritten.
form._submit_function_ = form.submit;

for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);

form.appendChild(hiddenField);
}
}

document.body.appendChild(form);
form._submit_function_();
}

window.onload = function() {
post_to_url('<?php echo $destination; ?>',<?php echo $params; ?>);
}
</script>
</head>
<body>
</body>
</html>


Not the most elegant solution but hopefully it will help others get started.