01 / Application Registration
Registered a single-tenant application in Microsoft Entra ID and configured delegated Microsoft Graph permissions.
NOCTURNE SYSTEMS // NS-IAM-001
OAuth 2.0 · Microsoft Entra ID · Microsoft Graph
01 // EXECUTIVE SUMMARY
This project explored authentication and authorization using Microsoft Entra ID, OAuth 2.0, and Microsoft Graph.
I registered an application, implemented interactive authentication using Python and MSAL, acquired an access token, and tested Microsoft Graph API permissions.
The exercise demonstrated how access tokens and delegated permissions determine which resources an authenticated application can access.
02 // TECHNICAL WORKFLOW
Registered a single-tenant application in Microsoft Entra ID and configured delegated Microsoft Graph permissions.
Developed a Python script using Microsoft Authentication Library (MSAL) to perform interactive authentication and obtain an access token.
Used the acquired access token to call Microsoft Graph and retrieve the authenticated user profile.
Tested access to a broader directory endpoint without sufficient delegated permissions and analyzed the resulting HTTP 403 response.
Decoded the JWT payload locally and inspected audience, issuer, delegated scopes, and token expiration.
03 // TEST RESULTS
Successfully called the Microsoft Graph /me endpoint using a delegated access token containing User.Read.
A request to the /users endpoint returned an authorization error because the token lacked the required broader directory permissions.
04 // SECURITY ANALYSIS
Authentication confirms the identity of the signed-in user, while authorization determines what the application can do.
A successful sign-in does not automatically authorize access to every Microsoft Graph endpoint. API access depends on the permissions represented by the token and the operation being requested.
JWT claims were decoded and inspected locally. Cryptographic signature verification was outside the scope of this exercise.
05 // EVIDENCE ARCHIVE
View the complete project documentation, including configuration details, authentication testing, authorization results, and sanitized screenshots.
06 // LESSONS LEARNED
This project strengthened my understanding of Microsoft Entra ID application registrations, OAuth authentication, delegated permissions, JWT claims, API authorization, and Microsoft Graph troubleshooting.
Authorized lab exercise. Sensitive authentication tokens, credentials, tenant identifiers, and personally identifying information are excluded from public documentation.