小编War*_*yle的帖子

强制重新登录 oAuth2 [Office365 Rest Api]

因此,我最近将新的 Office365 Rest API 与 PHP 集成,并使其与联系人 API 成功配合使用。

身份验证完成后,系统将生成请求 url 并将用户重定向回来,这工作得很好,但是如果您返回到脚本,它会自动再次记录您完成该过程,因为 Office365 不会强制重新授权。

我们的脚本目前允许多个用户将他们的帐户与我们的系统同步,但这仅允许一个用户在每个浏览器会话中执行此操作。

        require_once('./src/Office365_Client.php');
    $client = new Office365_Client();
    $forward_url = $client->createAuthUrl();
    if (isset($_GET['code'])) {
        $code = $_GET['code'];
        $client->setCode($code);
        $responseObj = $client->getTokens();


        $access_token = $client->getAccessToken();
        $refresh_token = $client->getRefreshToken();

        $_SESSION['access_token'] = $access_token;
        $_SESSION['instance_url'] = $instance_url;

        $icustomer = (isset($_SESSION['icustomer'])) ? $_SESSION['icustomer'] : false;
        header("location: " . $_SESSION['redirUrl'] . "?crm=office365&access_token=$access_token&refresh_token=$refresh_token");
        //die();
        //////////////////////////////////////////////////////////
        // LOAD CONTACTS
        /////////////////////////////////////////////////////////
        //$client->getContactsFolders();
        ///////////////////////////////////////////////////
    } else {
        header("location: $forward_url");
    }
Run Code Online (Sandbox Code Playgroud)

理想情况下,它应该按如下方式工作:

用户访问我们的网站 -> 我们生成身份验证 URL,用户将被重定向到 Office365 的登录页面(如果之前没有这样做,他们将进行身份验证) -> …

php rest office365

4
推荐指数
1
解决办法
1848
查看次数

标签 统计

office365 ×1

php ×1

rest ×1