Office365独立php应用程序授权

时间:2019-02-11 15:25:53

标签: php office365api

我有一个独立的PHP Web应用程序,负责添加Office365授权,以便仅授权用户才能访问。

我已经在Office365环境中的“应用程序注册门户”中注册了该应用程序,并收到了应用程序ID。我将重定向URL设置为本地主机上的应用程序:http://localhost/MyApp

在Webapp的初始页面(login.php)中,我具有以下重定向:

Location:https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id..... 

该片段成功运行,因为它将用户重定向到Office365登录页面,并且在用户输入凭据后,将其带到索引页面(index.php)。

在索引页面中,我具有以下内容:

    <?php 
    $client_id = 'xxxx';   // application ID masked 
    $client_secret = 'xxxx';  //password/public key masked  
    $redirect_uri= "http://localhost/WebApp";
    $resource = "https://localhost/WebApp"; 
    $authorization_code = filter_input(INPUT_GET, 'code');          

    if(!$authorization_code){
        die('something went wrong!');
    }
    $url = 'https://login.microsoftonline.com/common/oauth2/v2.0/token';
    $data = array(
        'client_id' => $client_id,
        'code' => $authorization_code,
        'redirect_uri' => $redirect_uri,
        'resource' => $resource,
        'client_secret' => $client_secret
    );


    $options = array(
        'http' => array(
            'header'  => "Content-type: application/json\r\n",
            'method'  => 'POST',
            'content' => json_encode($data)
        )
    );
    $context  = stream_context_create($options);
    $result = file_get_contents($url, false, $context);

      //echo $authorization_code; 

    var_dump($result);
    ?>  

运行此命令时,重定向后出现以下错误:

警告:file_get_contents(https://login.microsoftonline.com/common/oauth2/v2.0/token):打开流失败:HTTP请求失败!第29行的C:\ xampp \ htdocs \ MyApp \ index.php中的HTTP / 1.1 400错误请求

我还可以直接在浏览器中导航到index.php页面,这违背了身份验证的目的。

我们非常感谢您的帮助!

0 个答案:

没有答案