msgraph-sdk-php icon indicating copy to clipboard operation
msgraph-sdk-php copied to clipboard

How to Retrieve MS Graph User email and pass extra parameters to callback redirect URL? (Auth, Login with Microsoft button)

Open Mevrael opened this issue 1 year ago • 0 comments

Sorry, I am very dumb, I've searched around, and couldn't find how to do the most basic stuff with the latest v2 of SDK.

I need to add the "Login with Microsoft" button to my app, like I have with Google.

I have created an App and have all the tenant IDs and redirect URL.

Two methods have to be implemented:

  1. Generate a redirect URL from my app to Microsoft login/consent page
  2. Callback function where I retrieve the user's email and handle authentication in the app, not related to Microsoft, I don't need to store any access keys, etc.

I need something like:

public function redirectToMicrosoft(Request $request) {
   $tenant = ...
   $clientId = ...
   $clientSecret = ...
   $callbackUrl = ...
   $scopes = ['User.Read']

   $extra_params = ['stuff' => 'something']

   // What do I need here to generate the URL from my tenant and other secrets?
   $url = $microsoft->getAuthURL($tenant etc, $extra_params)

   redirect($url)
public function handleMicrosoftCallback(Request $request) {

   // What do I need here to retrieve the user's name/email and extra_params?
   $ms_user = $microsoft->user();
   $extra_params = $microsoft->getState();
   $name = $ms_user->getName();
   $email = $ms_user->getEmail();

Mevrael avatar Jul 18 '24 14:07 Mevrael