So, you wanna build a SSO

14
So, you wanna build a SSO? Case study and technology review Piotr Benetkiewicz

Transcript of So, you wanna build a SSO

Page 1: So, you wanna build a SSO

So, you wanna build a SSO?

Case study and technology review

Piotr Benetkiewicz

Page 2: So, you wanna build a SSO

AgendaTake 1: Custom STS

• Architecture

• Protocol

• Demo

• Conclusions

Take 2: Azure AD• Architecture

• Protocol

• Demo

Future

Page 3: So, you wanna build a SSO

Architecture

Marcin Daczkowski
Dałbym wyśrodkowane
Page 4: So, you wanna build a SSO

Requirements• Legacy user store, proxying On-Premise AD

• Superadmins: managers of App and other supporting services• Managing access to up to 10 resources

• App admins: access to /reports• Typically access to all apps in /org

• Users of apps• Out of scope

Page 5: So, you wanna build a SSO

Let’s write our own STS• Custom STS on top Legacy User Store

• WS-Fed, WIF based

• Very little custom code needed

• Ability to add claims STS-side• Resource = Url = Claim

Page 6: So, you wanna build a SSO

WS-Fed

Page 7: So, you wanna build a SSO

Custom STS Architecture

Page 8: So, you wanna build a SSO

DemoCustom STS and Relying Party

Page 9: So, you wanna build a SSO

Custom STS conclusions• Dev perspective - nice, clean and explicit

• Certs nightmare

• Custom implementation??? Lack of trust.

• Veto

• Hmm… We might have azure AD for Office 365, let’s use Azure!

Page 10: So, you wanna build a SSO

New Architecture• Azure AD synced with On-Premise AD for “Admin” identities

• Another Azure AD for sign-up (public)

• Azure groups. Group = URL = AccessGraph API

Page 11: So, you wanna build a SSO

Oauth2 and OpenIdConnect

Page 12: So, you wanna build a SSO

Demo• Adding Azure AuthN to simple MVC app

• Azure portal environment overview

• Graph API and other “gotcha’s”

Marcin Daczkowski
gotchas
Page 13: So, you wanna build a SSO

Azure AD B2C conclusionsLot’s of “Gotcha’s”

• Sliding expiration

• Missing cookies (Old stack vs. Owin Stack)

• JSON manifest setup

• Groups-Claims overflow

Marcin Daczkowski
old vs new stack - to pewnie z nowym corem zniknie jako issue?
Page 14: So, you wanna build a SSO

Future• Machine to machine scenario

• Integration processes

• Sign up• B2C Policies

Marcin Daczkowski
Przy tym się trochę zgubiłem szczerze mówiąc jak opowiadałeś. Zastanawiało mnie też ale w końcu nie zapytałem, czy te kroki które są potrzebne do rejestracji nowej apki są zrobione automatycznie po jej wyklikaniu przez jakieś API czy jest to manualny step