In this video, see an explanation what you will build and the major parts of it.
- [Instructor] Now I know you're dying to get your hands dirty with some code, but we're going to learn a lot in this application, so let me describe what we're about to build. So the important concepts that I wish to communicate in this demo are number one, how is your native client application registered? Well, let me break that suspense right now. That we're going to reuse the same native app subscription that we did in the last module. I'll just walk you through it, but we'll see it. The second thing is token management.
Token management. So we need to securely store the refresh token. So here, we'll learn the concept of token cache. Now the token cache we'll write here is fairly simple because, you know, it's, the user's computer should be able to encrypt the token easily, so we'll just use some kind of encryption that doesn't even have to consider the user's identity because the thought is that the application is accessible by only that user on that computer, so it should be okay.
Login experience. So I'll show you how the Azure AD login experience using ADAL has to be hosted in a browser. And as I mentioned that you can craft a custom UX, but you really shouldn't. We'll see this in practice. Then the logout experience, which we'll see, is that it's not just clearing out the cache, but because we're hosting the browser window during login, we also need to clear the cookies for the browser. Otherwise, possibly through the cookies, you're still logged in, so you're really not logged out.
So we need to make sure that we log out the user completely. So we'll see that in action as well. And then finally, I will explain the role of ADAL in all of this, the fact that it just makes things so much easier for us. All the protocol communication is handled for us. Hosting the browser window is done for us. And then how extensive ADAL is and how you can extend it. So without much further ado, let's look at some code.
- What is Microsoft Graph?
- Registering a web application in Azure AD
- Adding authentication logic and authentication UI
- Native applications calling Graph
- Reviewing scenarios where web apps involving Graph are useful
- Web applications with application identity and delegated identity calling Graph
- Daemons calling Graph