Как устранить ошибку маркера доступа при входе в систему с Microsoft на php?

#php

Вопрос:

Вот мой код, который я использую для входа в Microsoft

 lt;?php session_start(); $client_id = "*****************"; $redirect_uri = "****************"; $urls = 'https://login.live.com/oauth20_authorize.srf?client_id=' . $client_id . 'amp;scope=wl.signin wl.basic wl.emails wl.contacts_emailsamp;response_type=codeamp;redirect_uri=' . $redirect_uri; header("Location: " . $urls);  lt;!-- Microsoft Start --gt; lt;?php if (isset($_GET['code']) amp;amp; $_GET['code'] != "") {  $auth_code = $_GET["code"];  $client_id = "*********************";  $client_secret = "****************";  $redirect_uri = "http://localhost/client_stinkspolitics_us/visitor/register";   $fields = array(  'code' =gt; urlencode($auth_code),  'client_id' =gt; urlencode($client_id),  'client_secret' =gt; urlencode($client_secret),  'redirect_uri' =gt; urlencode($redirect_uri),  'grant_type' =gt; urlencode('authorization_code')  );   $post = '';  foreach ($fields as $key =gt; $value) {  $post .= $key . '=' . $value . 'amp;';  }  $post = rtrim($post, 'amp;');  $curl = curl_init();  curl_setopt($curl, CURLOPT_URL, 'https://login.live.com/oauth20_token.srf');  curl_setopt($curl, CURLOPT_POST, 5);  curl_setopt($curl, CURLOPT_POSTFIELDS, $post);  curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);  $result = curl_exec($curl);  curl_close($curl);  $response = json_decode($result);  $accesstoken = $response-gt;access_token;  $get_profile_url = 'https://apis.live.net/v5.0/me?access_token=' . $accesstoken;  $xmlprofile_res = file_get_contents($get_profile_url);  $profile_res = json_decode($xmlprofile_res, true);   if ($profile_res) $microsoft_email = $profile_res['emails']['account'];  $_SESSION['microsoft_email'] = $microsoft_email; } ?gt; lt;!-- Microsoft End --gt;  

Проблема в том, что при входе в систему отображается эта ошибка, а при обновлении страницы она автоматически выходит из системы. Я хочу получить имя пользователя после успешного входа в систему, но после входа в систему он показывает эту ошибку, и когда кто-то вводит имя пользователя, имя пользователя должно идти с сохраненной электронной почтой сеанса, но оно равно нулю.

 Warning: Undefined property: stdClass::$access_token in C:xampphtdocs\visitorvendor_index.php on line 139  Warning: file_get_contents(): SSL: An existing connection was forcibly closed by the remote host in C:xampphtdocsvisitorvendor_index.php on line 141  Warning: file_get_contents(https://apis.live.net/v5.0/me?access_token=): Failed to open stream: HTTP request failed! in C:xampphtdocsvisitorvendor_index.php on line 141