– Specializing on Iden9ty & Access Control – Working with SoAware Development Teams (ISVs and in-‐house) • Creator and Maintainer of Iden4tyServer OSS Project – OpenID Connect & OAuth 2.0 Implementa9on for OWIN – hMp://iden9tyserver.io [email protected] h0p://leastprivilege.com
Explicit Authen4ca4on – using an "explicit" creden9al – typically authoriza9on header – you are in control – cross domain • Implicit Authen4ca4on – browser based clients – cookies, basic authen9ca9on, client certs – no control – not cross-‐domain
HTTP 1.1 Authen4ca4on A server that receives valid credentials that are not adequate to gain access ought to respond with the 403 (Forbidden) status code The 401 (Unauthorized) status code indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. The server generating a 401 response MUST send a WWW-Authenticate header field (Section 4.1) containing at least one challenge applicable to the target resource.
store the secret or obtain it from the user (on every request) – storage must be done in clear text (or reversible encryp9on) • Server has to validate the secret on every request – high computa9onal cost due to brute force protec9on • The probability of accidental exposure of the secret is increased
Client deals with user creden4als – and requests an access token on behalf of user – only for trusted clients – might clash with exis9ng external authen9ca9on architecture • Authoriza4on Server (or OpenID Connect Provider) deals with user creden4als – preferred way – centralized security logic & flow – client will not get to see the creden9als