Using Ldap for Authentication in iOS

Using LDAP for authentication in iOS

I was able to Google up a few answers for you.

Integrating LDAP into an iPhone application

LDAP and the iPhone

And LDAP is even supported within Apple libraries & code, like the iOS configuration profile.

How to authenticate to microsoft active directory through iOS App?

Unless you are exposing your domain on the Internet, you'll need some sort of service layer. If you know php, that is probably a good route to go. Then, from the iOS application, you simply call the operations exposed through your php server. For creating the service, you may want to look into an ldap library for php.

How to authenticate to Active Directory using iOS app

Ok, so this was the PHP i used to make the connection to the ldap server. i am not 100% sure what is happening here, i got this code from IT Coordinator at my company. I understand all the binding and searching parts, but i dont get the the ldap_set_option part of this whole thing. Anyway after setting it up this way, you can then call the URL of the php script and pass it parameters. take a look at the PHP, and the url example with be below.


<?php
//Connection parameters
$dn = "DC=network,DC=net";
$host = "ldap://ldap.network.com";
$port = 1111

$user = $_GET['user'];
$pass = $_GET['pass'];

//$user = "user@network.net";
//$pass = "pass";

$filter = "memberof";
$keyword = "CN=USSC_ALL,CN=Users,DC=network,DC=net";

$filter = "objectclass";
$keyword = "user";

$filter = "objectcategory";
$keyword = "CN=Person,CN=Schema,CN=Configuration,DC=network,DC=net";

//The real thing with PHP
if (!empty($keyword) and !empty($dn)) {
//Connect to the AD
$adConn = ldap_connect($host, $port) or die("Could not connect!");

//Set protocol verison
ldap_set_option($adConn, LDAP_OPT_PROTOCOL_VERSION, 3) or die ("Could not set ldap protocol1");

//Set referrals... Won't work without this...
ldap_set_option($adConn, LDAP_OPT_REFERRALS, 0) or die ("Could not set ldap protocol2");

//Bind the user
$bd = ldap_bind($adConn, $user, $pass) or die ("Could not bind");

echo $bd;

//End binding
ldap_unbind($adConn);



} else {
echo "<p>No results found!</p>";
}

?>


</body>
</html>

Ok so now all you have to do is pass a username and password to the script and it will return the bind. that will give you either true or false. meaning if it bound successfully it is a correct combination of username and password.

this is how i am calling it:

http://192.268.192.1/ldap.php?user=(username here)&pass=(password here)

This is the approach that i took, and i think it is a very simple answer.



Related Topics



Leave a reply



Submit