Tools, FAQ, Tutorials:
Initiate Azure AD v2 Access Token Request
How to initiate Azure AD v2.0 Access Token Request?
✍: FYIcenter.com
The Azure AD v2.0 Access Token Request should
be initiated from your application Web server.
This is why the authentication code flow is more secure
than the implicit flow, because the "id_token" value will
be received by Web server directly from the Azure AS service.
If you initiate the Access Token Request from end user's Web browser, your "id_token" value and application secret key value are exposed to the end user.
Here is a PHP code sample in the openID_receiver.php on the Web server to initiate Azure AD v2.0 Access Token Request after received the authentication code from the sign-on authentication request call:
...
if (isset($_REQUEST["code"])) {
$code = $_REQUEST["code"];
$body = array(
'client_id' => $client_id,
'code' => $code,
'grant_type' => 'authorization_code',
'redirect_uri' => 'http://dev.fyicenter.com/openID_receiver.php',
'client_secret' => $client_secret
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
$res = curl_exec($curl);
if($res === false){
echo 'Curl error: ' . curl_error($curl);
} else {
$res = json_decode($res, true);
# Access Token response is parsed into an array now
...
}
}
...
Note that you can only initiate the access token request with the POST method. Using the GET method may leave your secret key in the Azure server log files and become a security risk.
⇒ Process Azure AD v2 Access Token Request
2019-03-27, ∼2343🔥, 0💬
Popular Posts:
How to include additional claims in Azure AD v2.0 id_tokens? If you want to include additional claim...
Why am I getting this "Docker failed to initialize" error? After installing the latest version of Do...
How to use the RSS Online Validator at w3.org? You can follow this tutorial to learn how to use the ...
How To Create an Array with a Sequence of Integers or Characters in PHP? The quickest way to create ...
How to Build my "sleep" Docker image from the Alpine image? I want the container to sleep for 10 hou...