IdentityServer

Training

Identity and Access Control for Modern Applications and APIs using ASP.NET Core 2

Modern application design has changed quite a bit in recent years. “Mobile-first” and “cloud-ready” are the types of applications you are expected to develop. Also, to keep pace with these demands, Microsoft has revamped their complete web stack with ASP.NET Core to meet these architectural demands.

Needless to say, you also have to secure these apps.

Multi-platform, multi-client, and highly-mobile users bring a new set of challenges, so the approaches of the past are no longer appropriate for modern applications. This three-day workshop is your chance to dive into all things security related to these new technologies. Learn how to securely connect native and browser-based applications to your back-ends and integrate them with enterprise identity management systems as well as social identity providers and services.

This workshop covers everything you need to know to build modern and secure web, native & mobile applications. The foundation will be Microsoft’s latest technology stack, but will also include IdentityServer4, which is the officially recommended framework for building token services.

This workshop can be delivered onsite (contact us for more info), and publicly as listed below.

Upcoming Dates

September, 2017 Mainz
1 day at BASTA with Dominick (German)
October, 2017 Las Vegas
2 days at DevIntersection Las Vegas with Brock. Use code "ALLEN" at registration for a discount.
November, 2017 London
3 days at SDD Deep Dive with Dominick
January, 2018 London
2 days at NDC London with Dominick and Brock
January, 2018 Oslo
2 days at NDC Security with Dominick
March, 2018 Copenhagen
2 days at Mini NDC with Dominick

Content

The full three day version of the class covers the following content and six hands-on labs. You can also customize the content for one or two day versions.

Foundation & Authentication

  • Identity & Access Control in .NET Core
  • ASP.NET Core Security Framework
  • Claims-based Identity
  • Cookie-based Authentication
  • Social Logins (e.g. Google, Facebook, Twitter, etc.)
  • OpenID Connect
  • Data Protection
  • Authorization
  • Web Application Patterns
  • Single Sign On/Single Sign Off
  • Claims Transformation
  • Federation Gateway
  • Account & Identity Linking
  • Home Realm Discovery

Web APIs & Access Control

  • Securing APIs
  • Architecture & Scenarios
  • Token-based Authentication
  • OAuth 2.0
  • Clients
  • Scopes
  • Flows
  • Token lifetime management
  • Refresh tokens
  • OpenID Connect & OAuth 2.0 combined
  • Server to Server communication
  • Native & mobile Applications
  • SPAs
  • Custom credentials & token requests

IdentityServer Architecture & Scenarios

  • Setup
  • Configuration
  • Dependency Injection
  • Services
  • Customizations
  • Claims & tokens
  • User interface
  • Storage system
  • UI Workflows
  • Logging & eventing
  • Hosting & deployment

Hands-on Labs

The hands-on labs each take one to two hours and include step-by-step instructions and reference solutions.

ASP.NET Core Authentication and Authorization

In this lab you will add cookie-based authentication to the movie review website using the cookie authentication middleware and claims-based identity. Once users are authenticated, you will then also implement policy-based and resource-based authorization using the ASP.NET Core authorization framework.

External Authentication

In this lab you will remove the local authentication in the movie review application and change it to use external authentication. For the first part, you will use the OIDC protocol and use IdentityServer as the provider. For the second part, you will use social media accounts as the provider.

Federation Gateway

In this lab you will consolidate all external authentication into a single authentication gateway. IdentityServer will act as this gateway. You will also implement single sign-out which allows the user to sign-out of both the movie web app, and IdentityServer.

Web APIs

In this lab the movie review logic has been split into two projects: one for the back-end movie review logic as a web API, and one for the front-end movie review UI as a web application. The web API will require access tokens to use its functionality, and the movie review web app will obtain access tokens and pass them to the web API. IdentityServer will be used to issue this access token to the movie review web application.

Mobile and Native client applications

n this lab the client application is a native, cross-platform console application. The pertinent steps in this lab will be the same if you're building a Windows or macOS desktop application, and are no different than if you were to use a platform-specific UI framework to build your application (WinForms, WPF, MacApp, Cocoa, GTK#, etc).

JavaScript client applications

In this lab the movie review application has been rewritten as a pure JavaScript-based application. It won't have as much functionality as the previous labs, but it will suffice to show how to obtain an access token and call a web API.