WiFi WPA2 Enterprise seamless sign-on

Brass Contributor

WPA2 Enterprise setup in intune requires the on-premise domain-joined NDES server and certificate issued by internal CA. WPA2 Enterprise seamless authentication will not work if the device is not joined to the on-premise AD. By seamless, we mean that users are not prompted for authentication. How do we enable seamless WPA2 Enterprise authentication for Azure AD joined Windows 10 computers (computers which are only joined to Azure AD, not hybrid)?

17 Replies
I have not tried this personally, but I would think you would have to follow this article to ensure Azure AD joined devices are cared for.

Thanks for your response. We have seen this article. But it doesn't discuss expected behaviour for Azure AD joined computers (not hybrid). Our goal is to enable seamless WPA2 Enterprise authentication for only Azure AD joined computers (not hybrid).

Ah I see. In that case, NDES should hand out the client certificate to your Azure AD joined computer. And then you will need to make sure the Azure AD joined computer has the root certificate as well. Have you confirmed that NDES is handing out the client certificate and that the root certificate is being deployed to your computers?

You might also want to follow this thread; sounds like a similar problem to yours.

We have registered a case with Microsoft, looks like there are some issues with intune in our tenant. Wifi profiles fails to apply.

Please keep us posted.  I'd be interested to know if you make any headway with Microsoft as I have a case open with them for a similar issue on iOS.
best response confirmed by rajeshkhanikar (Brass Contributor)

Forgot to update this.

Short answer: If the computer is only joined to Azure AD, WPA2 Enterprise seamless authentication is not possible.


As of now (March 2019) it is not possible to have seamless (users are not prompted for authentication) WPA2 Enterprise authentication when the computers (Windows 10) are not joined to an on-premise AD (only joined to Azure AD). This is because winlogon credentials contains a cloud user which will not be allowed to authenticate automatically on RADIUS (radius is using the on-premise AD).

Thanks for sharing with everyone. Where you able to discuss the scenarie if user is hybrid and device is cloud only? @rajeshkhanikar 

@rajeshkhanikarBut what about doing device level authentication? I presume the device will be able to enrol via NDES for a certificate and then authenticate via 802.1x at a machine level.

I have made this work. CA + NDES with Intune SCEP enrolment policy to issue user certificates. Intune WiFi profile for EAP-TLS authentication and finally a FreeRadius Linux RADIUS server to do the authenitcation. This is seamless. You cant use NPS as the RADIUS server, as that always attempt to authenticate to AD (requiring domain join or a nasty manual certificate mapping setup). FreeRadius can be configured to just validate the client certificate only.

@Ben Nichols Yes, certificate based authentication is an option. In our case requirement was to use only Azure AD, without any on-premise servers (no federated AD) or VMs on cloud. Using only Azure AD, cloud only users, currently it is not possible.

@rajeshkhanikarThat sounds about right. I have achieved it with no on-prem servers, and just 3 small Azure VMs (CA, NDES and RADIUS servers) using EAP-TLS.


You might possibly be able to also achieve it using Azure Directory Services (to give you a LDAP endpoint) and one RADIUS server with EAP-TTLS with MSCHAPv2.

Hi @Ben Nichols 

Can you provide more insight on how you got this to work. I am struggling with radius WIFI auth + Intune.

@RonThomasRareworld My current favoured solution is now to use SCEPman for certificate enrolment. This does the roles of a CA, NDES and OCSP server all in a single Azure App Service + Key Vault. Its a very very neat solution and there is a free version available. Use this to distribute certificates to devices (Android, iOS, macOS included) via Intune.

Then create one or more small linux VMs to run freeradius. I configure this to accept only EAP authentication, and do certificate validation via calling openssl to verify the cert against the SECPman root:

client = "/usr/bin/openssl verify -CAfile /etc/freeradius/certs/root.cer -untrusted /etc/freeradius/certs/sub01.cer  %{TLS-Client-Cert-Filename}"


@Ben Nichols Thanks man. SCEPman is so much simpler to setup. Got that functional no prob. Im a tad bit stuck with FreeRADIUS. Do you simply dump the keys on the server? Sorry a linux noob here.

@Ben Nichols 


Have you details of the FreeRadius configuration you could share?

Hi@Ben Nichols  can you please share your FreeRadius config? I am not very familiar with the setup