Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Logging in and authenticating users

From: Building Facebook Applications with PHP and MySQL

Video: Logging in and authenticating users

So we want to take a look at the information inside the Open Graph, that's the social data Facebook stores about its users. In order to do that, we have to authenticate the user in order to make sure Facebook knows that this is a safe and secure connection. So let's take a look at logging in our users into our application. Here's the index.php file that I have on my server, and what I want to do is first check to see if a user is already logged into Facebook when they come to our site. So I'm going to add another piece of code right here, that's going to be some PHP, and I'm going to get the user from the Facebook object I requested up here.

Logging in and authenticating users

So we want to take a look at the information inside the Open Graph, that's the social data Facebook stores about its users. In order to do that, we have to authenticate the user in order to make sure Facebook knows that this is a safe and secure connection. So let's take a look at logging in our users into our application. Here's the index.php file that I have on my server, and what I want to do is first check to see if a user is already logged into Facebook when they come to our site. So I'm going to add another piece of code right here, that's going to be some PHP, and I'm going to get the user from the Facebook object I requested up here.

So I'm going to put that in a variable and use the getUser method to get the user from that Facebook object. Now let's go ahead and output the user ID we received back from the Facebook object. So I'm going to go ahead and save this and switch back to my application and refresh the screen. We should get the value zero for the user ID, because although this user is logged into Facebook, they have not been authenticated into our application. In order to authenticate them, I need to get a login URL.

The login URL is not just the regular link but a link that passes the proper security transactions to Facebook. I'm going to go back into my code, and I'm going to add something around this line right here. So if this is a user with a normal user ID, then I'll go ahead and print out the user ID. Otherwise, I'm going to getLoginUrl method from the Facebook object and feed it into a variable. When you get a login URL, you have the option of specifying some parameters.

so check out this page on the PHP SDK documentation. So if you scroll down, you can see that you can specify a scope, and that's the permissions you want to request from the user. You can also specify or redirect URI, which is the same as a URL is where you want the user to go after they have logged in. Finally, you can also specify a display, which is whether or not you want the user to see a pop-up dialog box or just be authenticated on the same page. So if you don't specify anything, the defaults are basic permissions which include ID, name, first name and last name, link, username, gender, and locale, which is the location.

So just go and print the URL that we got back from the Facebook object and see what happens. So I'm going to save this and then switch over to my page, refresh the screen, and I should now see a login link. Let's click on it and see what happens. So you think what should happen is you should see some sort of authentication dialog box, it is not happening because this is an iFrame, and there's actually many ways to log in users into Facebook. You could be logging somebody in from an actual external page. This one is an iFrame, so we're going to have to modify our link a little bit and give a little bit more information to the getLoginUrl command.

So we'll switch back over here, we'll add a "target="_top" that will force Facebook to load a page on top of the current page and not into the iFrame, that is the canvas inside of Facebook, and I'm going to save that. I'll switch back over to my app, take a look right here. And I'm going to click login and see what happens now. And now it's taken us to the right place. I want to modify something else, because if I click on this Go to App, I might actually return to the website that has my page and not back into Facebook.

So although this is almost perfect, I'm going to hit the back button, I'm going to fix something else. And I found that this login procedure is something that you're going to have to play around with. When we get the login URL, I'm also going to add a couple of things right here. I'm going to add an array here, and I'll put this on some new lines. I'm going to pass a display parameter here, and I'm actually going to request this to be on a pop-up. Even though we're not going to see a pop-up, this is what actually worked for me, so next, I'll pass it a redirect_uri, and that is going to go back into our Facebook page.

And I'm going to save that, I'll go back into my page, refresh, and now I'll click the login link, you can see that it's requesting just my basic info, and then I'll click on Go to App, and that takes as back into our original page, and it's showing us the user ID for this user, which is exactly what we want. I want to tell you this is one place where you want to play around with the options a little bit. I found different things that I thought would work on a login and users not working and some things that shouldn't work actually creating the desired affect.

So make sure you read up on the Get Login URL documentation, especially on the scope section. You can take a look at the permissions that you can request from the user and learning to log in users into our application is what's going to create a connection that authenticates your use of the social data. And that's a really important part of working with Facebook. After all, you just don't want anyone to be able to access data from your users.

Show transcript

This video is part of

Image for Building Facebook Applications with PHP and MySQL
Building Facebook Applications with PHP and MySQL

24 video lessons · 8944 viewers

Ray Villalobos
Author

 

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Building Facebook Applications with PHP and MySQL.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member ?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferences from the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.