1

I have a question about whether a programming technique is at all possible. Most of the apps these days come with sign up with Facebook, Twitter or gmail functionality.

My company has its domain name (for example www.mydomain.com) and our email address are as (john.smith@mydomain.com) and we use outlook to access the account.

My question is whether it is at all possible for users to be able to sign up to an app or system using the company address such as (john.smith@mydomain.com) similar what google or Facebook does. Keeping in Mind my app is an API which developed on Node.js and MongoDB.

If this is a wrong place to ask this question please let me know and i will move my question.

I am not looking for you to give me a exact solution, just asking whether its possible and if you can point me in the right direction.

1

Most likely if your company has their own Windows servers running the domain, they are also running an Active Directory server somewhere in there. Active Directory is, at its heart, an LDAP server, and so you can use normal LDAP binding method if you like.

There's also a Passport plugin specifically for use against an AD server, which also has samples for doing windows integrated login (if memory serves, that only works on IE, but gives you single sign-on, which is a nice user experience).

Your IT department may also have a preferred method for doing these things, or require you to have your app registered or run as a particular service user. These are things you should discuss with them before getting too far down this road.

0

Should direct access from your application to LDAP (Active Directory) not be possible for some reason, an alternative might be to use the same technology the companies mentioned in the question are using and implement the OAuth protocol.

Its advantage over LDAP is that it works completely via HTTPS, so it doesn't require to expose your active directoy domain controller to networks the IT department doesn't want it seen connected to.

Overly simplified it works like this:

  1. Application asks the user to authenticate.
  2. User logs into the authentication provider (your backed authentication server).
  3. Authentication provider provides a digital certificate which states that the user is who they claim to be, signed with the authentication provider's private key.
  4. User forwards that certificate to the application (as part of the call to the API)
  5. Application verifies the certificate signature with the authentication provider's public key.

The advantage over LDAP is that your application has no direct contact with the system which has access to the user account database. But your authentication server will need that access.

-2

Most apps come with a standard email signup feature.

You ask users to giver their email address, chose a password, and possibly also a username. Then you send an email with a random token (usually embedded in a link to your site for convenience), which the users must give back to you in order to prove that they own the email. Any user can use this method, no matter what email provider they use.

You can add sign-in solutions from specific vendors like Gmail, Twitter and Facebook on top of this solution, in order to let the users of those services sign in without a new password.

  • Thanks for the reply. Thats what I am looking for to be able to provide a sign solution for my domain email address so the users don't have to create a new password. Is it possible to do this for personal domains. Our all company employees have the email addresses like ( john.smith@mydomain or jane.doe@mydomain.com ) I want them to be able to sign up using the company email address and not enter a new password. – Lorenzo von Matterhorn Aug 12 '15 at 12:19
  • @user2190986 There might be such an option, what Exchange product is your company using? – aaaaaaaaaaaa Aug 12 '15 at 13:23
  • Again thanks for the reply. We are currently using Microsoft outlook - Office Home and Business 2010. – Lorenzo von Matterhorn Aug 12 '15 at 13:29
  • @user2190986 MS software is not really my field, but Outlook is your client program. You also have a mail server, possibly outsourced to someone else, you need to know what program or provider you use. – aaaaaaaaaaaa Aug 12 '15 at 13:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.