Two-Factor Authentication (2FA) for Microsoft Teams
Microsoft Teams is a unified communication and collaboration platform that combines persistent workplace chat, video meetings, file storage (including collaboration on files), and many more extremely useful features for business communications. Microsoft Teams is included in Office365 for free.
Microsoft Teams Two-Factor Authentication or Multi-Factor Authentication is the process of secure Authentication in which a user or an organizational employee have to provide two factors to gain the access to Microsoft Teams data. Microsoft Teams Two-Factor Authentication starts with user submitting his traditional username and password. Once user successfully gets authenticated with the 1st step verification, configured 2FA (OTP over SMS, Push Notifications, Google Authenticator etc) method prompts on for 2nd-step verification. After successfully authenticating with both of the steps a user is granted with the access to the Microsoft Teams resources. This additional layer prevents the unauthorized person from accessing the resources even if cyber attackers get to know your credentials.
If you are looking for achieving this using a product with top-notch features, and a dedicated team to guide you hassle-free through this journey - you have arrived at the right destination!
miniorange provides provides 15+ authentication methods and solutions for various use cases. It allows users and organization to setup certain authentication and settings which includes password restrictions, restricting sign-in methods, as well as other security settings. miniorange also make way for authentication apps that support Time-Based One-Time Password (TOTP) Google Authenticator, Microsoft Authenticator, Authy 2-Factor authentication app and our own miniorange Authenticator app. Follow the given guide to setup Microsoft Teams MFA.
Connect with External Source of Users
miniOrange provides user authentication from various external sources, which can be Directories (like ADFS, Microsoft Active Directory, OpenLDAP, AWS etc), Identity Providers (like Microsoft Entra ID, Okta, AWS), and many more. You can configure your existing directory/user store or add users in miniOrange.
miniOrange
Authenticator App
Google
Authenticator App
Authy 2-Factor
Authentication App
Microsoft
Authenticator App
Follow the Step-by-Step Guide given below for Microsoft Teams Two Factor Authentication (2FA)
1. Configure Microsoft Teams in miniOrange
- Login into miniOrange Admin Console.
- Go to Apps and click on Add Application button.

- In Choose Application, select SAML/WS-FED from the application type dropdown.

- Search for Microsoft Teams in the list, if you don't find Microsoft Teams in the list then, search for custom and you can set up your application in Custom SAML App.

- Enter the details as shown:
| SP Entity ID or Issuer |
urn:federation:MicrosoftOnline |
| ACS URL |
https://login.microsoftonline.com/login.srf |
- Leave the Add Attributes section empty.

- Go to the Add Policy and select DEFAULT from the Group Name dropdown.
- Give a policy name for Microsoft Teams in the Policy Name field.
- Select Password as the First Factor Type for authentication.
- Click on Save to configure Microsoft Teams.

- Click on Select in the Action column of the configured app, and go to Metadata.
- Depending upon your requirement, click on the Show Metadata Details button to get the metadata which will be required later in Step3(c)
2. Configure Your User Directory (Optional)
miniOrange provides user authentication from various external sources, which can be Directories (like ADFS, Microsoft Active Directory, Microsoft Entra ID, OpenLDAP, Google, AWS Cognito etc), Identity Providers (like Okta, Shibboleth, Ping, OneLogin, KeyCloak), Databases (like MySQL, Maria DB, PostgreSQL) and many more. You can configure your existing directory/user store or add users in miniOrange.
- Click on Identity Providers >> Add Identity Provider in the left menu of the dashboard

- In Choose Identity Provider, select AD/LDAP Directories from the dropdown.

- Then search for AD/LDAP and click it.

- STORE LDAP CONFIGURATION IN MINIORANGE: Choose this option if you want to keep your configuration in miniOrange. If the active directory is behind a firewall, you will need to open the firewall to allow incoming requests to your AD.
- STORE LDAP CONFIGURATION ON PREMISE: Choose this option if you want to keep your configuration in your premise and only allow access to AD inside premises. You will have to download and install miniOrange gateway on your premise.

- Enter AD/LDAP Display Name and Identifier name.
- Select Directory Type as Active Directory.
- Enter the LDAP Server URL or IP Address against the LDAP Server URL field.
- Click on the Test Connection button to verify if you have made a successful connection with your LDAP server.

- In Active Directory, go to the properties of user containers/OU's and search for the Distinguished Name attribute. The bind account should have minimum required read privileges in Active Directory to allow directory lookups. If the use case involves provisioning (such as creating, updating, or deleting users or groups), the account must also be granted appropriate write permissions.

- Enter the valid Bind account Password.
- Click on the Test Bind Account Credentials button to verify your LDAP Bind credentials for LDAP connection.

- Search Base is the location in the directory where the search for a user begins. You will get this from the same place you got your Distinguished name.

- Select a suitable Search filter from the drop-down menu. If you use User in Single Group Filter or User in Multiple Group Filter, replace the <group-dn> in the search filter with the distinguished name of the group in which your users are present. To use custom Search Filter select "Write your Custom Filter" option and customize it accordingly.

- Click on the Next button, or go to the Login Options tab.
- You can also configure following options while setting up AD. Enable Activate LDAP in order to authenticate users from AD/LDAP. Click on the Next button to add user store.

Here's the list of the attributes and what it does when we enable it. You can enable/disable accordingly.
| Attribute |
Description |
| Activate LDAP |
All user authentications will be done with LDAP credentials if you Activate it |
| Fallback Authentication |
If LDAP credentials fail then user will be authenticated through miniOrange |
| Enable administrator login |
On enabling this, your miniOrange Administrator login authenticates using your LDAP server |
| Show IdP to users |
If you enable this option, this IdP will be visible to users |
| Sync users in miniOrange |
Users will be created in miniOrange after authentication with LDAP |
- Click on the Next button, or go to the Attributes tab.
Attributes Mapping from AD
User Import and Provisioning from AD
- If you want to set up provisioning, click here for detailed information. We will skip this step for now.

Test Connections
- You will see a list of directories under Identity Providers. From the dropdown, select AD/LDAP Directories, search for your configured directory, click the three dots next to it, and select Test Connection.

- A pop-up appears prompting you to enter a username and password to verify your LDAP configuration.

- On Successful connection with LDAP Server, a success message is shown.

Test Attribute Mapping
- You will see a list of directories under Identity Providers. From the dropdown, select AD/LDAP Directories, search for your configured directory, click the three dots next to it, and select Test Attribute Mapping.

- A pop‑up appears to enter a username and click Test.

- The Test Attribute Mapping Result will be displayed.

Set up AD as External Directory configuration is complete.
Note: Refer our guide to setup LDAP on windows server.
miniOrange integrates with various external user sources such as directories, identity providers, and etc.
3. Setup SSO in Microsoft Teams
- Open Powershell in Administrator Mode. The Microsoft Online Services module needs to be installed for the below commands to run.
- Install-Module -Name AzureAD
- If prompted about installing a module from an untrusted repository, type Y and press ENTER.
- Install the 64-bit version of the Microsoft Online Services Sign-in Assistant. Download it from here.
- Run the Following command in Powershell to install MSOnline Module : Install-Module MSOnline
- If prompted to install the NuGet provider, type Y and press ENTER.
- If prompted to install the module from PSGallery, type Y and press ENTER.
- Execute the following Powershell commands:
- $cred = Get-Credential. Enter Microsoft Teams Administrator credentials.
- Connect-MsolService -Credential $cred.
- Replace the following information with the one noted in above step:
- Replace ##DOMAIN NAME## by your Active Directory Domain Name. Ensure that the domain is not the default domain name as the default one cannot be set as the federated domain
- Replace ##IDP ENTITY ID## with the IdP Entity ID/Issuer from metadata details mentioned in Step1.
- Replace ##LOGOUT URL## with the Logout URL from metadata details mentioned in Step1.
- Replace ##CERTIFCATE## with the X.509 Certificate from metadata details mentioned in Step1.
- Set-MsolDomainAuthentication -Authentication Federated -DomainName ##DOMAIN NAME## -IssuerUri ##IDP ENTITY ID## -LogOffUri "##LOGOUT URL##" -PassiveLogOnUri "##LOGIN URL##" -SigningCertificate "##CERTIFICATE## -PreferredAuthenticationProtocol SAMLP
- You cannot federate your default "onmicrosoft.com" domain. To federate your Microsoft Teams tenant, you must add a custom domain to Microsoft Teams.
4. Configure 2FA for Microsoft Teams
4.1: Enable 2FA for Users of Microsoft Teams app
- To enable 2FA for Users of Microsoft Teams application. Go to Policies >> App Login Policy
- Click on Edit icon against the application you have configured.

- Check the Enable 2-Factor Authentication (MFA) option.

- Click on Submit.
4.2: Configure 2FA for your Endusers
- To enable 2FA/MFA for endusers, go to 2-Factor Authentication >> 2FA Options For EndUsers.
- Select default Two-Factor authentication method for end users. Also, you can select particular 2FA methods, which you want to show on the end users dashboard.
- Once Done with the settings, click on Save to configure your 2FA settings.

4.3: Enduser 2FA Setup
- Login to End-User Dashboard using end user login URL.
- For Cloud Version: The login URL (branding url) which you have set.
- For On-Premise version: The login URL will be the same as of Admin Login URL.
- Select Setup 2FA from left panel. Then select any of the 2FA method available.
- For now, we have selected the SMS >> OTP OVER SMS as our 2FA method. You can explore the guide to setup other 2FA methods here.
- Enable the OTP over SMS if you have your phone number added under your account information else click on Edit >> Click here to update your phone number link.

- In Account Information, click on edit icon.

- Select your country code, enter your mobile number, and click Send OTP.

- Enter the OTP sent to your phone and click Validate.

- After adding your phone number, turn on the toggle to activate OTP over SMS.

- Now Enable 2 Factor Authentication toggle if not done before as shown below.

5. Test Microsoft Teams 2FA
6. Adaptive Authentication with Microsoft Teams
A. Restricting access to Microsoft Teams with IP Configuration
You can use adaptive authentication with Microsoft Teams Single Sign-On (SSO) to improve the security and functionality of Single Sign-On. You can allow a IP Address in certain range for SSO or you can deny it based your requirements and you can also challenge the user to verify his authenticity. Adaptive authentication manages the user authentication bases on different factors such as Device ID, Location, Time of Access, IP Address and many more.
You can configure Adaptive Authentication with IP Blocking in following way :
- Login to Self Service Console >> Adaptive Authentication >> Add Policy.

- Add a Policy Name for your Adative Authentication Policy.
- Select Action for Behavior Change, click the Edit link, and then choose the appropriate Action and Challenge Type for the user from that section.

Action for behavior Change Options :
| Attribute |
Description |
| Allow |
Allow users to authenticate and use services if Adaptive authentication condition is true. |
| Challenge |
Deny user authentications and access to services if Adaptive authentication condition is true. |
| Deny |
Challenge users with one of the three methods mentioned below for verifying user authenticity. |
Challenge Type Options :
| Attribute |
Description |
| User second Factor |
The User needs to authenticate using the second factor he has opted or assigned for such as
- OTP over SMS
- PUSH Notification
- OTP over Email and, many more.
|
| KBA (Knowledge-based authentication) |
The System will ask the user for 2 of 3 questions he has configured in his Self-Service Console. Only after the right answer to both questions is the user allowed to proceed further. |
| OTP over Alternate Email |
User will receive an OTP on the alternate email they have configured through the Self Service Console. Once the user provides the correct OTP, they are allowed to proceed further. |
- Now click Edit option from the IP Configuration section to configure custom IP range.
- Select Add IP if the User's IP Address is not in the configured list.
- Specify the IP Address that you want to whitelist. For the IP Range other than the whitelisted one, you can select the above setting to reflect.
- Choose either allow or deny by selecting the corresponding option from the dropdown.
- If a user tries to login with the whitelisted IP address, they will always be allowed access.
- We support IP address range in three formats i.e., IPv4, IPv4 CIDR, and IPv6 CIDR. You can choose whichever is suitable for you from the dropdown menu.
- You can add multiple IPs or IP ranges by clicking the + Add IP button.

- Once the changes are made, scroll down to the end and click on Save.
B. Adaptive Authentication with Limiting number of devices
Using Adaptive Authentication you can also restrict the number of devices the end user can access the Services on. You can allow end users to access services on a fixed no. of devices. The end users will be able to access services provided by us on this fixed no. of devices.
You can configure Adaptive Authentication with Device Restriction in following way
- Login to Self Service Console >> Adaptive Authentication >> Add Policy.
- Add a Policy Name for your Adaptive Authentication Policy.
- Select your Action for behavior Change and Challenge Type for user from the Action for behavior Change Section.

- On the Add Policy tab, go to the Device Configuration section and click the Edit button.
- Enter the Number of Device Registrations Allowed as per your requirement. (2-3 devices are recommended.)
- Choose Action if number of devices exceeded (This will override your setting for Action for behavior Change.)
- Challenge: The user needs to verify himself using any of the three methods mentioned in table in step 5.1
- Deny : Deny users access to the system
- Enable Mobile Device Restriction to block logins from mobile devices. This ensures all login attempts from mobile devices will be declined.
- Enable MAC Address Based Restriction if you want to restrict access based on device MAC address.

- Scroll down to the bottom of the page and click on Save.
C. Add Adaptive Authentication policy to Microsoft Teams
- Login to Self Service Console >> Policies >> Add Login Policy.
- Click on Edit icon option for predefined app policy.

- Set your policy in the Policy Name and select Password as First Factor.
- Enable Adaptive Authentication on Edit Login Policy page and select the required restriction method as an option.
- From Select Login Policy dropdown select the policy we created in last step and click on Submit.


D. Notification and Alert Message.
How to add a trusted Device
- When End-user log in to the self service console after the policy for device restriction is on, he is provided the option to add the current device as a trusted device.
External References