Integrating iTunes U with Authentication at Lafayette College

A couple of folks have asked how we got iTunes U authentication working at Lafayette. Here's a quick run down of how we did it; if you have any questions about the specifics feel free to e-mail me at [email protected].
The quest for authentication started with reading Chapters 1 and 2 of the iTunes U documentation and downloading the sample connection scripts. This yielded a few observations: 1) we could use our department's preferred programming language, Perl, to build the authentication process 2) Apple designed iTunes U's user/roles framework on the assumptions that folks would use the eduCourse specification and that the college's campus authentication system would include role and course information.
Our campus LDAP does not store course information and has limited information about roles. Because of this, we decided to implement a two-part authentication -- first we'd authenticate against our campus LDAP directory, then we would check the user against eduCourse-based role and course information stored in a small MySQL database. With this information in hand, the Perl script then builds the connection script with all of the role/user/unique identifier information.
We are looking at extending campus LDAP to include the needed information, but in the short term this allows us to manage access to iTunes U.
The biggest headache we encountered in setting up the authenication process involved time. After many trials and too many errors, we determined that our web server's clock was out of sync with Apple's by 110 seconds. Since we only had 90 seconds to authenticate, that meant that the handshake couldn't be concluded. We solved the problem by making sure our server's clock is updated hourly against an NTP time server.
The Process
1. A private/public login page was created on our secondary web server, ww2.lafayette.edu. This login page accepts the user's Network ID and password and passes those values on to a Perl script. It also includes a "public link" that goes to the same Perl script
2. The Perl script checks to see if the Network ID and password.
3. If the Network ID and password are given, the credentials are checked against the campus LDAP server using Perl's LDAP functions. If the user authenticates, then a query is run against a MySQL database to determine what access that user should be granted based on roles (Instructor, Learner, Administrator) and courses (a list of unique identifiers for courses) based on the eduCourse specification.
4. If the public link is clicked, then the user is connected directly to iTunes U with no credentials, which lands them on the public welcome page.
Useful Resources
* Flowchart of Lafayette College's iTunes U Authentication Scheme:
http://ww2.lafayette.edu/~its/downloads/pdfs/public/LafayetteItunesAuth.pdf
* LDAP representations of eduCourse attributes and an auxiliary object class
http://middleware.internet2.edu/courseid/docs/internet2-mace-dir-courseid-educou rse-ldap-200507.html
* eduCourse Data Model
http://middleware.internet2.edu/courseid/docs/internet2-mace-dir-courseID-eduCou rse-200507.html
I hope this helps -- good luck with your configuration!

to quote Gaff from Blade Runner " You've done a man's job , sir"
Great work Ken your team has paved the way for us.

Similar Messages

  • Documention needed regarding Integration of SIM with Authenticating server

    We need to integrate Authenticating server(4Tress) with SIM. So it will be really helpful if you could provide me with some document of how to integrate SIM with Authenticating server or which adapter I can use to get connected to an Authenticating server through SIM.

    You need to first create an external resource for ALSB configuration. You can then use the configuration to connect to ALSB and create the structure for transferring the data.
    You then have to configure a DB transport for updating the process data using ALSB.
    Hope this helps.
    Sarat

  • Resources needed to integrate iTunes U with existing authentication?

    I have been reading the on-line and PDF iTunes U Admin guide for a few days now.
    I think I can handle most administration issues, but not how to integrate iTunes U with our existing authentication system, described here http://bit.ly/7oAzpp
    I believe ours is LDAP based.
    Not sure other staff have the time to do it. We may have some CS students that might be able to tackle it.
    As an alternative, are there outside services that might specialize in this?
    Any rough amount of hours or cost?
    I am looking at options, and welcome any feedback.

    Frank, in answer to your questions…
    Frank Fulchiero wrote:
    1. What technologies does one have to be familiar with to write up iTunes U authentication with existing authentication systems? In the sample download, there are files in C, Java, Perl and Python. Do you need to know all of these, in addition to HTML?
    You do not need to know any particular language…Apple's examples are just starting places. Each of those code samples does exactly the same thing, just in a different language. In addition to the samples that Apple provides, others have written similar code samples in languages like C#, VB.Net, and Ruby. "In principle", you could use a language not yet explored by others (say Erlang or Haskell or whatever)…but you would need to do pretty much what the other code samples do.
    If I had to give a rough summary of what you would need to know to implement an iTunes U portal, it'd run like this:
    1. You need to be able to setup a web server. It can be any sort of server with which you are most comfortable…IIS in Windows, Apache running on Linux, or OS X Server's web server (which is also Apache)…or even something else.
    2. You need to know how to get CGI running on your chosen web server. The actual CGI code can be in any language you like (Apple's samples are in Perl, C, Python, etc., as you pointed out). But you need to know how to get CGI code installed and working on your web server. In addition, you need to know just enough about how the code works to adapt it to suit your specific institution.
    3. You need to know just enough about how authentication works at your site to access it in code. "Usually" this is fairly straightforward…but Apple's code samples do not show how to do this—they can't because every institution handles authentication differently…some use LDAP, others Active Directory, some use Banner…others use things like eDirectory—each of these packages gives you a way to determine with a login or bind is going to work.
    Frank Fulchiero wrote:
    2. We are considering pilots with only a few faculty and 50-100 students. I am wondering if it would be any easier, in order to get started, to use OSX Server 10.6' Users and Groups and Open Directory for authentication, instead of our college's AD, and just manually enter the users. Due to security concerns, our network admins might find this more acceptable.
    Certainly that would work. One of the nifty things about iTunes U is that you're not married to any solution you implement…you can always change/grow into something different later.

  • My laptop is no longer reliable. I want to share my iTunes account with my new iPad 3.   I just started viewing my iPad window on my 50 inch Panasonic wirelessly via Apple Tv 2.  That amazing.    I would like to access my iTunes store via iPad for podcast

    My laptop is no longer reliable. I want to share my iTunes account with my new iPad 3.   I just started viewing my iPad window on my 50 inch Panasonic wirelessly via Apple Tv 2.  That's amazing.
    Now I want to share my iTunes account with my Apple TV  1, and my iPad 3, without the need of booting up the unreliable laptop where I set it up last year.   do I have to use my. Pc laptop to access the iTunes store again too authorize home sharing.   I have tried it before. O for a while I thought the we're sharing, now the Apple Tv has gone back to telling me to use my computer too sign into iTunes.     
    there maybe a far simpler way to enjoy iTunes on my iPad and Apple Tv.   I also have the Sony blurry Google Tv.  I will upgrade my PC with Windows Z8 and a screaming ran cache, ram disk on a 79 mother board and then pay 5 bucks a month for OnLive Plus that I hpe to show wirelesslypy on the big scree 50 inch Panasonic.   I have waited for years to upgrade as I wanted to help my kids in college.  They are finished and so I have money fr my self.CELEBRATE

    Are you using the charger and cable that came with the phone?
    Are you using an unauthorized third party charger?

  • I have a personal itunes account with an iPhone5s and an iPad 4 mini. I have unlokced my old iPhone 4 to use for work on a diffeent SIM and new number, can i have all devices associated to me single appleID and use both numbers ?

    I have a personal itunes account with an iPhone5s (perosnal mobile numer) and an iPad 4 mini (no SIMM). I have unlocked my old iPhone 4 to use for work on a different SIM and new number,
    Do you know if I can have all devices associated to my single apple ID and still use both numbers without messing up my profile. It has just changed my number over.

    I would not be able to give you idiot proof guide, since different games are different. Some of them have icloud integrated already, but those already taken care of. Some of them use specific logins and once you log - you get your info. General recommendation is to contact support sites of those games for enabling icloud instructions or enabling of transfer. There are other purely apple ways - like sync your phone in itunes and then sync apps with ipad, but those are only one time transfer. There is another way that is not typically recommended - restoring ipad from iphone backup. It may transfer your game content, but once again sync in the future has to be done by game.
    So if I were you, I would address that individually with every game provider.

  • Itunes problem with Windows 7 and iphone

    I have Windows 7 x64 Ultimate released last week.
    Also I installed Itues 9.0.2.25.
    Today I got a really wierd problem.
    1. My phone was not being charged any way (power or itunes).
    2. Then when I tried to sync my contacts through outlook, it was 6 hours and mu iphone was just keep on syncing. Itunes showed I am using some 180MB space for contacts but my contacts list was empty on phone.
    I had to take the phone back to the store and then all of a sudden it just synced withing 10 minutes.
    I would say, by trying to restore to factory settings through itunes and then re-syncing the phone probably worked.
    But this is really a problem and probably of itunes.

    This forum is for questions from those managing sites on iTunes U, Apple's service for colleges and universities to post educational material in the iTunes Store. You'll be most likely to get help with this issue if you ask in the general iTunes forums.
    Regards.

  • Problem in Integration of Apex with R12

    Hello,
    I followed the paper apex-ebs-extension-white-paper-345780.pdf to do Integration of Apex with R12. but stuck on one step.
    I am done with all the steps in R12. Now if i click the menu in R12, its going to my existing Apex aplication but still asking username and password.
    Can anyone help me out in what exactly I need to change in Apex Authentication scheme in Apex. Right now I am using Authentication scheme as Application Express.
    Please help me out
    Thanks in advance
    Ananya
    Edited by: Ananya on 26 Dec, 2011 8:51 PM

    Hi Mini,
    Thanks a lot for ur replies. But it is not working for me. I am not able to figure out whats going wrong.
    My Requirement is to redirect to the first page of my application without asking for the APEX login page from the EBS menu.
    So summarizing whatever I steps i have followed:-
    (1) Created Profile and function in APPS as given in "apex-ebs-extension-white-paper-345780.pdf"
    (2) I created the following package in APPS schema
         CREATE OR REPLACE PACKAGE APPS.XXAPX_SECURITY_PKG AUTHID DEFINER AS
         FUNCTION generate_hash (
         p_string IN VARCHAR2
         , p_offset IN NUMBER DEFAULT 0) RETURN VARCHAR2;
         FUNCTION validate_hash (
         p_string IN VARCHAR2
         , p_hash IN VARCHAR2
         , p_delay IN NUMBER DEFAULT 5) RETURN BOOLEAN;
         END XXAPX_SECURITY_PKG;
         CREATE OR REPLACE PACKAGE BODY APPS.XXAPX_SECURITY_PKG AS
         g_key VARCHAR2(100);
         FUNCTION generate_hash (
         p_string IN VARCHAR2
         , p_offset IN NUMBER DEFAULT 0) RETURN VARCHAR2
         IS
         BEGIN
         IF p_string IS NULL THEN RETURN NULL; END IF;
         RETURN RAWTOHEX(UTL_RAW.cast_to_raw(
         DBMS_OBFUSCATION_TOOLKIT.MD5(
              input_string=>p_string||':'||
              TO_CHAR(SYSDATE-(p_offset/24*60*60), 'YYYYMMDD HH24MISS')||g_key)));
         END generate_hash;
         FUNCTION validate_hash (
         p_string IN VARCHAR2
         , p_hash IN VARCHAR2
         , p_delay IN NUMBER DEFAULT 5) RETURN BOOLEAN
         IS
         BEGIN
         FOR i IN 0..p_delay LOOP
         IF p_hash = generate_hash (p_string, i) THEN RETURN TRUE; END IF;
         END LOOP;
         RETURN FALSE;
         END validate_hash;
         BEGIN
         SELECT encrypted_user_password INTO g_key
         FROM FND_USER WHERE user_name = 'SYSADMIN';
         END XXAPX_SECURITY_PKG;
    (3) Created a function in the APPS schema:-
         create or replace FUNCTION ebs_authenticate (
         p_username IN VARCHAR2
         , p_password IN VARCHAR2) RETURN BOOLEAN
         AS
         BEGIN
         IF apps.XXAPX_SECURITY_PKG.validate_hash (p_username, p_password) THEN RETURN TRUE; END IF;
         RETURN (apps.FND_WEB_SEC.validate_login (p_username, p_password) = 'Y');
         END ebs_authenticate;
    (4) In my authentication scheme of my apex application i have changed it to use custom authentication to use the below function
         return apps.ebs_authenticate
    (5) Created a procedure in the APPS schema:-
         create or replace PROCEDURE apps_logon
         IS
         v_username VARCHAR2(100);
         v_password VARCHAR2(32);
         BEGIN
         wfa_sec.getsession(v_username);
         v_password := xxapx_security_pkg.generate_hash(FND_GLOBAL.user_name);
         IF v_password IS NOT NULL THEN
         APEX_CUSTOM_AUTH.login(
              P_UNAME => v_username,
              P_PASSWORD => v_password,
              P_SESSION_ID => v('APP_SESSION'),
              P_APP_PAGE => apex_application.g_flow_id||':38'
         ELSE
         RAISE_APPLICATION_ERROR(-20001, 'Password is null, session id = '||icx_sec.g_session_id);
         END IF;
         END apps_logon;
    (6) In my login page, i have created a process Get Username Cookie and with the process point: onload(Before Header)
         BEGIN
         apps.apps_logon;
         EXCEPTION WHEN OTHERS THEN NULL;
         END;
    Now I am getting this error with the login page :-
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small Content-type: text/html; charset=UTF-8 Set-Cookie: WWV_CUSTOM-F_1120314105059329_811=B4134623EB436033; path=/; Location: f?CallFromForm='Y'&p=811:38
    Please help me figure out the problem as I am struggling a lot with this from last few days :(
    Thanks in advance.

  • Integrating WebLogic Server with CA SiteMinder Web Agent R6

    Hi I have searched on the topic of integrating WebLogic Server with the CA SiteMinder Web Agent R6 to provide single sign on services, and have been unable to find anything. Does anyone have any experience with this that could provide some tips, or could direct me to some documentation?

    It definitely can work. We have done the same thing in several installations. The question is "How secure does it need to be?" You will be using SM to do authentication. You will configure SSO to trust the SM header variable. If you really want to be secure you need to configure your boxes so that the http server on you SUSE box (for Portal) can only be accessed from the Reverse Proxy. If another machine can access it someone could spoof the header variable and log in as anyone they want.
    Hope this is helpful.
    Anton

  • Integration of BI with Oracle EBS R12

    Hi friends,
    Im in the process of integrating oracle BI 11g with the EBS R12, by following the saurabh gautam document.
    I followed all the steps indeed in the document but it didnt worked as i can redirect to the BI 11g page soon after clicking the menu in the EBS R12, but the BI login page is appearing soon after that. Since i dont want that login page to ask and im looking for SSO with BI.
    So, soon after clicking the menu it has to go the BI home page directly. I have followed all the steps in the document but none seemed to work.
    I have followed the below steps in the EBS R12 application side.
    <li>Function
    <li>Menu
    <li>Responsibility
    <li>User
    <li>Profile
    And also setted up the change described in that document in the BI side too.
    <li>the Connection Pool for Oracle e-Business Suite database
    <li>Setting up Authentication
    <li>OBIEE Configuration Changes
    -----------Updating authenticationschemas.xml
    -----------Updating instanceconfig.xml.
    Finally i have restarted the BI server too. But while clicking the menu in EBS now it is redirecting to the BI login page instead of navigating to the BI home page.
    What might be the issue friends, is im missing something in the document that i followed.
    Brgds,
    Mini

    Hi,
    See below my thread this might be of some help to you. We could successfully integrate EBS and OBIEE.
    Logout link missing upon integrating OBIEE 11g with EBS (Not through SSO)
    Thanks,
    Sri

  • Integrating Active directory  with oracle EBS 12.1.3 with 11g R2 database

    Hi,
    can any one let me know Integrating Active directory windows 2009 R2 with oracle EBS 12.1.3 with 11g R2 database software requirements and document ids for integrating.
    Is windows 2008 active directory is cerfied with 10g OID??
    regards,
    chandrasekhar.

    Hi
    I found exact note
    Is OID 10g/11g DIP Compatible / Certified With Microsoft Active Directory 2008 / Windows 2008 R1/R2? [ID 944298.1]
    From note:
    DIP 10g latest version (10.1.4.3) and DIP 11g up to PS4 / 11.1.1.5 Patchset releases integrations are certified with MS AD 2008 R1 only.
    DIP 11g certification with AD 2008 R2 is supported only with DIP 11g PS5 / 11.1.1.6 Patchset or higher.
    Note: Although DIP below 11.1.1.6 integration (synchronization, external authentication, etc.) with MS Windows / AD 2008 R2 may work, it is not officially compatible / certified. See also Note 1076018.1.
    Regard
    Helios

  • ECATT and Webservices with authentication - PROBLEM

    Hello,
    i'm writting a eCATT-Script, which execute a webservice with authentication.
    It's working fine, but everytime when i run the script i have to put the user and password for the webservice manually. It's not much comfortable, because i will automate the whole script.
    Please let me know, if someone know, how to automate it.
    Thanks!

    Don't know about integrated windows auth but we are using basic authentication for some portlets where we need the credentials in the code. You have to enable the following in your remote code's Web Service (or the remote server if you prefer): "Basic Authentication Settings -> Basic Authentication info sent to Web Service -> User's Basic Authentication Information" And of course enable it in IIS.
    All of our other remote code is set to allow "anonymous access" in IIS.
    Well, not sure if that helps.

  • Help with SMTP class function with authentication

    My server is no longer supporting the php mail() functionality.  I need to use SMTP class function with authentication in my php code and they suggested this to replace it: http://www.yrhostsupport.com/index.php?/Knowledgebase/Article/View/101/2/smtp-class-functi on-with-authentication-in-php-code
    So I tried it, but can't get it to work. This is my test form:
    <form method="post" action="forms/sendmail-test2.php" onsubmit="return checkEmail(this);">
    <script type="text/javascript" language="JavaScript">
    </script>
    <fieldset><legend>Info</legend>
    <label> Name </label>
      <input type="text"
      name="name" size="30" maxlength="40"/><br />
    <label> <span class="redText">*</span> Email </label>
        <input name="email" type="text" size="30" maxlength="40"/>
        <br />
    <label><span class="redText">*</span> Message </label>
      <textarea cols="40" rows="5" name="message" type="text" /></textarea><br />
        </fieldset>
    <input type="reset" value="Reset" />
    <input type=submit value="Submit Form" />
    </fieldset>
    </form>
    This is sendmail-test2.php where the form goes. It won't send unless I comment out the first 10 lines.
    <?php
    include('Mail.php');
    //$to = "[email protected]";
    //$name = $_REQUEST['name'] ;
    //$email = $_REQUEST['email'] ;
    //$message = $_REQUEST['name'] ;
    //$headers = "From: $email";
    //$subject = " price quote";
    //$fields = array();
    //$fields{"name"} = "Name"; 
    //$fields{"email"} = "Email";
    //$fields{"message"} = "Message";
    $recipients = '[email protected]'; //CHANGE
    $headers['From']    = '[email protected]'; //CHANGE
    $headers['To']      = '[email protected]'; //CHANGE
    $headers['Subject'] = 'Test message';
    $body = 'Test message';
    // Define SMTP Parameters
    $params['host'] = 'levy.dnsbox25.com';
    $params['port'] = '25';
    $params['auth'] = 'PLAIN';
    $params['username'] = '[email protected]'; //CHANGE
    $params['password'] = 'xxxxxx'; //CHANGE
    /* The following option enables SMTP debugging and will print the SMTP
    conversation to the page, it will only help with authentication issues. */
    $params['debug'] = 'true';
    // Create the mail object using the Mail::factory method
    $mail_object =& Mail::factory('smtp', $params);
    // Print the parameters you are using to the page
    foreach ($params as $p){
          echo "$p<br />";
    // Send the message
    $mail_object->send($recipients, $headers, $body);
    ?>
    It used to work fine when I used
    $send = mail($to, $subject, $body, $headers);
    $send2 = mail($from, $subject2, $autoreply, $headers2);
    But they said I can't use it any more. I'm good with HTML and CSS but I don't know much about php. Thanks for any help integrating a from into this new code!

    Thanks, bregent. I changed it to this and it sends, but nothing shows up in the body except "Test message". How would I "insert the form fields' 'email' and 'name' and 'message' in the body"?
    <?php
    include('Mail.php');
    $to = "[email protected]";
    $name = $_REQUEST['name'] ;
    $email = $_REQUEST['email'] ;
    $message = $_REQUEST['name'] ;
    //$headers = "From: $email";
    $subject = " price quote";
    $fields = array();
    $fields{"name"} = "Name"; 
    $fields{"email"} = "Email";
    $fields{"message"} = "Message";
    $recipients = '[email protected]'; //CHANGE
    $headers['From']    = '[email protected]'; //CHANGE
    $headers['To']      = '[email protected]'; //CHANGE
    $headers['Subject'] = 'Test message';
    $body = 'Test message';
    $fields = array();
    $fields{"name"} = "Name"; 
    $fields{"email"} = "Email";
    $fields{"message"} = "Message";
    // Define SMTP Parameters
    $params['host'] = 'levy.dnsbox25.com';
    $params['port'] = '25';
    $params['auth'] = 'PLAIN';
    $params['username'] = '[email protected]'; //CHANGE
    $params['password'] = xxx'; //CHANGE
    /* The following option enables SMTP debugging and will print the SMTP
    conversation to the page, it will only help with authentication issues. */
    $params['debug'] = 'true';
    // Create the mail object using the Mail::factory method
    $mail_object =& Mail::factory('smtp', $params);
    // Print the parameters you are using to the page
    foreach ($params as $p){
          echo "$p<br />";
    // Send the message
    $mail_object->send($recipients, $headers, $body);
    ?>

  • Fulfilment server encountered a problem with authentication

    I am trying to create my first app using DPS app builder, all the step have been done correctly, however creating the app give the f
    ollowing error
    "The fulfillment server encountered a problem with authentication"
    Anyone face this before? how to solve this issue? I can't find anything in the guidline files

    Hello again
    The app rejected once again and here is the itunes message
    "We found that while you have submitted In App Purchase products for your app, the In App Purchase functionality is not present in your binary. "
    I am able test the development version of the app and I can see the folio inside it with an option to buy, I can't locate any error in the development side and I need more clarification from your side about the rejection, why the binary is rejected?
    There is nothing wrong from my side. my app is working on the testing version and everything is OK.
    You rejected the app because in-app purchase is not enabled as you claimed. but I can see the folio inside the app with an option to buy, nothing wrong and no error what so ever is facing me. why you rejected the binary?
    I really need your help to identify where the problem is, I have to get the viewer ready for sale July 1st. it is been rejected for couple of time and I am not sure why.
    Regards;
    Rafah Alkhatib
    CEO
    [email protected]
    http://www.reachsn.com
    Dubai, Riyadh, Amman

  • Sharing one itunes account with two computers

    I used to share my itunes account with my sister and our ipods were synched to one computer. We now have two new computers and would still like to continue to share that account. Is it possible to open the same account on two separate computers?

    Explain how you transfer content manually.
    Control-click or right-click it in iTunes, choose Get Info, locate the music files, move them to the other computer's hard disk as you would any other type of file, and then drag them into the open iTunes window. By default on a Mac, dragging them to the open iTunes window also copies them to the hard disk.
    (40011)

  • Can i use 2 ipad's on the same itunes account with different apple accounts?

    Both me and partner have an ipad 4. Though we only have one computer, can we use the same itunes but with different apple acount without any issues? We use some of the same apps, but my partner plays fx Baldus Gate and is worries that save files will be corrupted.

    Each iPad should be linked to its owner's personal, private and nonshared AppleID. In the Mac, each one should have a different login account so each has their own iTunes Library containing your iPad's details. When you use iTunes on the Mac, since each logs in with a different login and corresponding Home directory, iTunes picks up the correct AppleID.

Maybe you are looking for

  • Sticky Note (Text annotation)

    Hello, I decided to add some sticky notes (text annotation) in my pdf document and I was surprised to see that the sticky notes were not printed. I used the "Document and Markups" option for the print and even in the print preview the Sticky Notes we

  • Bridge has never launched - Error code 6 on installation - So frustrated with "support" - HELP!

    So, I'm going to rant just like everyone else here. It makes me feel better. I spent 11 HOURS on the phone with Adobe's foreign support team yesterday and still, nothing is resolved! At this point, I will not relent until my problem is solved. Here's

  • Displaying cursor on slideshow

    On PPT for Mac I can right click the screen and get pointer options. The one I want is use pointer as pen...I have not been able to find this in Keynote. Can anyone help me with this? Powerbook G4 Aluminum   Mac OS X (10.4.8)   Keynote 3

  • Can i create a template in pages with IOS?

    How do I create a template in Pages from my iPhone 6? Thank you.

  • CFolders

    I have a done integration between MS Explorer and cfolders. Once I press the pushbutton "file explorer" in cfolders, explorer opens and shows the documents. But when I try to display the file from the explorer it gives an error : "Error occured when