What is the proper way to log in users using Angular & Express?

manihiki picture manihiki · Sep 14, 2013 · Viewed 32k times · Source

I'm building a simple web site where I'd like to let users log in using Facebook, and then show a page with customized items based on whether or not they're logged in. ie if not logged it, it shows some info, but if logged in, it shows other info based on their user information.

I'm using the passportjs Facebook module, Express, and Angular. I believe I have passport implemented correctly, but don't know 1) how I should be checking if a user is logged in, and 2) best practice for showing views based on the user state using Angular & Express. I've looked at an example here, but don't think this is what I should be doing using Angular (https://github.com/jaredhanson/passport-facebook)

Thanks!

Answer

Thomas Pons picture Thomas Pons · Sep 16, 2013

To complete the @wpalahnuk answer you have to create a service or factory to deal the authentication and an httpInterceptor to intercept the response send by the server for know if the user is log or not (checking the staus code 401).

For the Express part you have to use the awesome passport node module to deal the server side authentication.

You have all the details here : https://vickev.com/#!/article/authentication-in-single-page-applications-node-js-passportjs-angularjs

This article is really great, Brad Green (Engineering Director at Google for AngularJS) adivse me this post.

Hope it Helps.

If you want to know more things about security in Angular you have just to ask and i'll we be really happy to help you.