24
Globalcode – Open4education Modern Apps e o novo panorama de identidade e autenticação Jorge Rua @jtressino Solution Architect

Modern Apps e o novo panorama de identidade e autenticação

Embed Size (px)

DESCRIPTION

Apresentação sobre o novo panorama de autenticação das Modern Apps realizada no TDC 2014 - Trilha de Arquitetura .NET.

Citation preview

Page 1: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Modern Apps e o novo panorama de identidade e autenticação

Jorge Rua@jtressino

Solution Architect

Page 2: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Objetivos

Entender o novo contexto de autenticação introduzido pelas Aplicações Modernas

Descrever os novos componentes de arquitetura, novos métodos de autenticação e os cenários de autenticação

Recomendação de novos frameworks para implementação

Page 3: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Agenda

Aplicações Modernas

Cenários de Autenticação

Arquitetura de Autenticação

Page 4: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Princípios de Desenho Aplicações Modernas

Cloud Enabled

Responsive UI

SecureCross-Device Scalable

Data Intensive

Page 5: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Aplicações Modernas

Browser Web Application

Web API

Native App

Server App

WS-Fed, SAML 2.0, OpenID Connect

oAuth 2.0

oAuth 2.0

oAuth 2.0

Page 6: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Cenário 1Browser para Web App

Page 7: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Browser para Web AppWS-Fed e SAML 2.0

BrowserWeb Application

Directory Tenant

Navega para o site

Redireciona ao diretório para Sign In

Sign InSAML Token para

Redirect URL

HTTP Post SAML Token

Set Session

Windows Identity

Foundation

OWIN Auth

WebApp Service Principal• App ID URI• Redirect URL

Page 8: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Cenário 2App Nativa para Web API

Page 9: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Web API

App Nativa para Web APIOAuth 2.0

Directory Tenant

Requisita o Auth Code

Sign In

Native App• Client ID• Redirect URI

Native App

Client ID, Redirect Uri, Resource Id

Web API SP• App ID URI• Client ID (Resource

ID)

Auth Endpoint Token Endpoint

Auth Code Redirect URI

Page 10: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Web API

App Nativa para Web APIOAuth 2.0

Directory Tenant

Resgata o Auth Code

Retorna Access Token e Refresh Token

Windows Identity

Foundation

JWT Handler

Native App• Client ID• Redirect URI

Native App

Auth Code, Client ID, Redirect URI, Resource ID

ADAL

Web API SP• App ID URI• Client ID (Resource

ID)

Auth Endpoint Token Endpoint

Acessa API com o Access Token no AuthZ Header

Page 11: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Cenário 2.1Passado algum tempo o Access Token expira...

Page 12: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Web API

App Nativa para Web APIOAuth 2.0

Directory Tenant

Acessa API (Access Token no AuthZ

Header)

Requisita novo Access Token (Client ID, Refresh Token, Resource ID)

Windows Identity

Foundation

JWT Handler

Native App• Client ID• Redirect URI

Native App

ADAL

Web API SP• App ID URI• Client ID (Resource

ID)

Auth Endpoint Token Endpoint

Acessa API com o Access Token no AuthZ Header

Access Token expirado

Retorna Access Token e Refresh Token

Page 13: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Cenário 3Web App para Web API

Page 14: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Web App para Web APIDois casos...

Web app utiliza a própria identidadeCenário “app identity”

OAuth 2.0 client credentials grant

Web app utiliza a identidade do usuário autenticado

Cenário “app + user identity”

OAuth 2.0 auth code and confidential client

Page 15: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Web API

Web App para Web APIApp Identity

Directory Tenant

Solicita Token

Web App SP• Client ID• Redirect URI• Credential

Web API SP• App ID URI• Client ID (Resource

ID)

Auth Endpoint Token Endpoint

Autenticado na Web AppClient ID,

Credencial, Resource ID

Web Application

Retorna Token

Acessa API com o Access Token no AuthZ Header

WIF

Browser

JWT

WIF JWT

ADAL

Page 16: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Web API

Web App para Web APIUser + App Identity

Directory Tenant

Solicita Auth Code

Web App SP• Client ID• Redirect URI• Credential

Web API SP• App ID URI• Client ID (Resource

ID)

Auth Endpoint Token Endpoint

Autenticado na Web AppClient ID,

Resource ID

Web Application

WIF

Browser

JWT

WIF JWT

ADAL

Retorna Auth Code

Solicita Token

Retorna Token

Acessa API com o Access Token no AuthZ Header

Consenso

Page 17: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Cenário 4Server App para Web API

Page 18: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Web API

Web App para Web APIApp Identity

Directory Tenant

Server App SP• Client ID• Credential

Web API SP• App ID URI• Client ID (Resource

ID)

Auth Endpoint Token Endpoint

WIF JWT

Server App

Requisita Access Token

Client ID, Credencial, Resource ID

Retorna Access Token

Acessa API com o Access Token no AuthZ Header

ADAL

Page 19: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Resumo Final

Page 20: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Componentes da SoluçãoDiretório para Autenticação

Windows Azure Active Directory

Active Directory

Azure DirSync

Rede CorporativaNuvem

Federation Service

IaaS

SaaS

Internoou

Externo

Page 21: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Princípios de Arquitetura

Utilizar protocolos standard

Bibliotecas cross-plataformaServer

Client

Gerenciamento de Identidade

Page 22: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Frameworks

Windows Identity Foundation

Active Directory Authentication Library

OWIN

Page 23: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Protocolos

Componente Protocolo AD FS Azure AD

Web App WS-Federation AD FS 2.0+ Disponível

SAML 2.0 AD FS 2.0+ Disponível

OpenID Connect Não Disponível Preview

Web App para Web API

OAuth 2.0 auth code + confidential client

Não Disponível Disponível

OAuth 2.0 client credential Não Disponível Disponível

Native App Oauth 2.0 auth code + public client AD FS 3.0 Disponível

Server App OAuth 2.0 client credential Não Disponível Disponível

Azure AD: http://msdn.microsoft.com/en-us/library/azure/dn151124.aspx

Page 24: Modern Apps e o novo panorama de identidade e autenticação

Globalcode – Open4education

Q&AJorge Rua