Enabling Facebook SignIn and Microsoft SignIn and Google SignIn - Below Version 5.0.0

Note: This document is written for solution with version below than 5.0.0. For version 5.0.0 or later please read this document.

Facebook SignIn

All the works are done in STS and you just need to create a Facebook App and get your App ID and Secret ID
  1. Go to the Facebook Developers site and create a new App. There are many documents, but it can be done by simply going to Apps menu.
  2. Find Site URL in your created Facebook App and set it to your own STS url. This URL must point to default.aspx page of your STS site and does not relate to your SharePoint sites.
    Site URL example: http://authtest.shetabtech.com/default.aspx (it should be pointed to default.aspx not signin.aspx).
  3. Open "web.config" of your STS site with notepad and find facebook tag, then replace the appId and appSecret with your created Facebook App.
  4. Finish.

Microsoft SignIn

All the works are done in STS and you just need to create a Microsoft App and get your Client ID and Client Secret
  1. Go to the Microsoft account Developer Center site and create a new Application.
  2. Find Root Domain in your created Microsoft App and set it to your STS Root Domain. This URL must point to your STS domain and does not relate to your SharePoint sites.
    Root Domain Example: authtest.shetabtech.com
  3. Find Redirect URLs in your created Microsoft App and set it to your own STS url. This URL must point to default.aspx page of your STS site and does not relate to your SharePoint sites.
    Redirect URLs Example: http://authtest.shetabtech.com/default.aspx (it should be pointed to default.aspx not signin.aspx).
  4. Open "web.config" of your STS site with notepad and find microsoft tag, then replace the appId and appSecret with your created Microsoft App.
  5. Finish.

Google SignIn

All the works are done in STS and you just need to create a Google Project and get your Client ID and Client Secret. .
  1. Go to the Google Developers Console .
  2. Select a project, or create a new one by clicking Create Project:
    1. In the Project name field, type in a name for your project.
    2. In the Project ID field, optionally type in a project ID for your project or use the one that the console has created for you. This ID must be unique world-wide.
    3. Click the Create button and wait for the project to be created.
    4. Click on the new project name in the list to start editing the project.
  3. In the left sidebar, select the APIs item below "APIs & auth". A list of Google web services appears.
  4. Find the Google+ API service and set its status to ON—notice that this action moves the service to the top of the list. You can turn off the Google Cloud services.
  5. In the sidebar under "APIs & auth", select Consent screen.
    1. Choose an Email Address and specify a Product Name.
  6. In the sidebar under "APIs & auth", select Credentials.
  7. Click Create a new Client ID — a dialog box appears. 
    Register the origins from which your app is allowed to access the Google APIs, as follows. An origin is a unique combination of protocol, hostname, and port.
    1. In the Application type section of the dialog, select Web application.
    2. In the Authorized JavaScript origins field, enter blank.
    3. In the Authorized redirect URI field, set it to your own STS url. This URL must point to default.aspx page of your STS site and does not relate to your SharePoint sites.
      Redirect URLs Example: http://authtest.shetabtech.com/default.aspx (it should be pointed to default.aspx not signin.aspx).
    4. Click the Create Client ID button.
  8. In the resulting Client ID for web application section, copy the Client ID and Client secret that your app will need to use to access the APIs.
Other OpenID SignIn
The other OpenID provider should be work without any configurations.