Identity Libraries: Status as of 11/23/2014

It’s been few years that we’ve been innovating in the area of development libraries for authentication. Thanks to new technologies (e.g. NuGet) and our new approach to development (OSS) in the last couple of years we really picked up our pace, pushing out libraries at unprecedented speed. That is all more power for you, my dear readers, but it also makes selecting the correct library/version harder than it used to be.

For that reason, I decided to add to the blog a permapage keeping track of the latest status of our releases. You can find it here, but given that this is the very first update I decided to paste its content in a regular post as well, so that you guys are aware of that new page’s existence Smile

Libraries--state-of-the-art20141123_

To help you navigate the vast array of choices we offer, I whipped together a quick diagram. There are few key dimensions you want to keep in mind:

  • Target application type. We have libraries that help you to protect your resources (web apps, web API). Those are our traditional libraries, evolved to keep pace with technology changes but with their mission largely unchanged. WIF and the OWIN middlewares belong to this category.
    We also have libraries meant to enable clients to acquire tokens, so that they can be used for accessing remote resources protected by the above (or any equivalent library implementing the same standard). This is what the ADAL libraries are for.
  • Platform and dev stack. Our libraries support a variety of platforms, being those OSes or development stacks. Different versions of the same library can be applicable to completely different stacks, hence which version you should use is a major piece of data you need to consider early on.
  • Support level. At any given time you can expect every functional area to be addressed by three types of libraries:
    • Old libraries, deprecated or supported but not recommended/in features freeze.
    • Current libraries. Those are the latest and greatest that can be used in production.
    • Preview. We like to keep you in the loop, so we often release preview versions of our incoming libraries. Those versions come with no support and cannot be used in production. Their only reason d’etre is allowing you to kick the tires with new scenarios and give us feedback on the direction our products are taking.

The diagram above captures all those dimensions, giving you a snapshot of the situation as of today (November the 23rd, 2014). I’ll try to keep it up to date. Also, it is actually not 100% complete – we have Java (server-side) and Node JS versions of ADAL, but I need to consult with my colleagues before placing it in the diagram.

Some links:

Will add more details as we go.

Leave a Reply

Your email address will not be published. Required fields are marked *