ADAL and Web Authentication Broker on Windows Phone 8.1

One of the components I highlighted as an improvement to the MDM enrollment process in Windows Phone 8.1 was support for Web Authentication Broker (WAB):

Which itself was “ripped” from the Windows 8.1 bits:

At any rate; it is a nice way to hook into Azure Active Directory, and by extension your on-prem AD as well if you’re doing DirSync. (Or ADFS if you are so inclined.) What I used in the MDM process was the .Net server side implementation suitable for browsers.

Unfortunately using WAB natively in Windows Phone was not as easy. Yes, the WAB component is present in the operating system, but it requires some effort to get started with nonetheless. Active Directory Authentication Library, or ADAL for short, was/is the package responsible for making AD integration easier in .Net server side and now it’s finally present for Windows Phone 8.1 as well. Now you can easily use AD as your authentication in your Windows Phone app without problems, without VPN/reverse proxying and all that stuff. Just include the necessary NuGet package in your VS solution and you’re almost there. (Yes, you still need to write some code yourself.)

The funny thing is that this library was available for iOS and Android before Windows Phone even though Active Directory is just about as Microsoft as you get technology wise, but now you should be golden whatever your mobile preference is Smilefjes

Usually I’d whip up some code for you to try this, but in this case I will let the work already done by Vittorio Bertocci illustrate the moving parts instead. There’s a nice code sample over on the official AzureAD GitHub page:

Not to mention a blog post with some more details:

Short post, I know, but useful little trick I hope.

Mobile Devices and IPv6. How Goes? – Windows Phone 8.1

Way back in September 2012 I built a lab for supporting IPv6, and running basic connectivity tests for mobile devices:

The conclusion back then was that iOS supported IPv6, Android was very dependent on the build you had on your device, and Windows Phone didn’t support IPv6. Well, it sort of supported it, but in a half-baked way. I was able to have a Windows Phone 8.0 device acquire an IPv6 address through DHCPv6, but never got it working for any practical purposes since it didn’t support SLAAC. Short recap, (read the original blog post for all the details), SLAAC was required back then in a Windows environment to actually get online. I don’t know if this is different with Windows 8.1/2012 R2.

Read more

Windows Phone 8.1 – Kiosk Mode

We’re not entirely done covering new enterprise features in Windows Phone 8.1. Let’s dive into what I would usually call "Kiosk Mode". (At least it’s meant as an enterprise feature, but if you’re the controlling type I suppose you could turn it into a "kids mode on steroids".)

Smartphones are nice devices for enabling the user to do a whole bunch of things, but there are plenty of scenarios where you don’t want the end-user doing all sorts of stuff on their devices. If you control a fleet of delivery drivers who carry a smartphone for keeping track of their routes & pickups, and having the customer sign for the delivery, you don’t want the driver playing Angry Birds on the device on their break. Quite often I hear enterprise customers asking "how do we lock down these devices so the user can’t mess it up"?

We can lock it down by placing it in what we call a "kiosk mode". A kiosk mode alters the interface so the end-user can only access very specific parts of the operating system. Most of us face these kinds of interfaces almost every day; paying for bus tickets on an unmanned machine, withdrawing money from ATMs, etc. And I think I’m not the only one to be happy that I face a simplified UI focused on the specific thing I’m trying to achieve.

iOS has what they refer to as "Guided Access" to put one app in focus, and while Android has no Google-provided feature (that I’m aware of) you can lock down Samsung devices by using their enterprise APIs.

Windows Mobile (old school pre-Metro) also had the ability to lock down the UI fairly good back in the day. Technically kiosk mode wasn’t officially supported or sanctioned, but is was possible to implement nonetheless through different tweaks.

Windows Phone however hasn’t had any ability to do this until now. With the 8.1 version bump Microsoft adds a kiosk mode, but prefers to call it "Assigned Access". The naming is in line with 8.1 non-phone, however how it works is not fully synchronized between the two operating systems. This post will focus only on the Windows Phone implementation.

The Assigned Access features consists of more than just slapping one app in front and saying that’s all you can use. You could say that you create a set of apps and settings to compile a complete kiosk experience.

The kiosk mode can to the best of my knowledge only be configured through MDM.

Read more