In this session, we'll break down each of the OAuth workflows (also called grant types) and you'll learn how to apply them to your use cases. We'll cover how to implement OAuth for web apps as well as native apps. Even how to do OAuth on devices with no web browser or keyboard. We'll cover what you need to know to implement OAuth securely, both when writing an app as well as a server. Along the way, we'll talk about some of the options available when implementing a server, such as when to use self-encoded tokens or how to present scopes in a way that won't intimidate your users. Your application will probably also want to know the user’s name and email address, so we'll explore how OpenID Connect builds on top of OAuth 2.0 to provide the identity of users signing in.