Modern authentication for your application

Sharing is caring!

&NewLine;<p>There are many options for securing identities in your application&period; Selecting the right technology for your application will help ensure that your application is secure&comma; while maintaining a great experience for your users&period; You want to provide secure access to your application without requiring the users to manage extra user accounts and credentials&period; <&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p><strong>Modern Authentication i<&sol;strong>s a method of identity management that offers more secure user authentication and authorization&period; It has the following characteristics&period; <&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>Authentication methods &lpar;authentication &equals; how something&sol;somebody logs in to a system&rpar;<&sol;li><li>Authorization methods &lpar;authorization &equals; mechanisms that make sure you do not have full access to something by default&rpar;<&sol;li><li>Conditional access policies &lpar;policies which define the conditions under which certain additional steps have to be taken in order to log into a system&rpar;<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p><strong>Users authenticate in two stages&colon;<&sol;strong><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<ol class&equals;"wp-block-list"><li>The identity provider verifies the identity of users who exist in the directory&period; Upon successful authentication&comma; tokens are issued that contain information related to successful authentication&period;<&sol;li><li>The user passes those tokens to the application&period; The application must validate the user’s security tokens to ensure that authentication was successful&period;<&sol;li><&sol;ol>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image is-resized"><img src&equals;"https&colon;&sol;&sol;docs&period;microsoft&period;com&sol;en-gb&sol;learn&sol;modules&sol;secure-app-with-oidc-and-azure-ad&sol;media&sol;2-azure-ad-open-id-connect&period;svg" alt&equals;"Screenshot that shows a basic scenario where identity is required" width&equals;"547" height&equals;"590"&sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<p><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p><strong>OAuth 2&period;0<&sol;strong> is the industry-standard protocol for authorization&period; It provides specific authorization flows for web&comma; desktop&comma; and mobile applications&period; This specification was primarily designed to enable users to authorize an application to access data in another application&period; With OAuth&comma; you can enable this server-to-server communication&period; Users can authorize your application to access contact information&comma; without needing to share passwords between applications&period;<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p><strong>OpenID Connect<&sol;strong> is an authentication layer that&&num;8217&semi;s built on top of OAuth 2&period;0&period; It includes identity verification methods that are missing from OAuth 2&period;0&period; OpenID Connect gives you an access token plus an ID token&comma; which you can send to an application to prove your identity&period;<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p>The ID token is a JSON Web Token &lpar;JWT&rpar; and contains information about the authenticated user&period; The identity provider signs the token&comma; so that applications can verify the authentication by using the provider&&num;8217&semi;s public key&period;<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"http&colon;&sol;&sol;www&period;thecloudxperts&period;co&period;uk&sol;wp-content&sol;uploads&sol;2020&sol;11&sol;image-1024x474&period;png" alt&equals;"" class&equals;"wp-image-674"&sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<p>This diagram shows how the client application&comma; the application server&comma; and the identity provider communicate in an OpenID Connect authentication request&period; The client might be a mobile app or a desktop application&period; In this case&comma; it&&num;8217&semi;s a web browser&period; The application server is usually a web server that hosts webpages or a web API&period; The identity provider in the middle is Azure AD&period;<&sol;p>&NewLine;