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

Php 强制重新登录oAuth2[Office365 Rest Api],php,rest,office365,Php,Rest,Office365,因此,我最近将新的Office365 Rest API与PHP集成,并使其与Contacts API成功地协同工作 身份验证完成后,系统将生成请求url,并将用户重定向回原处,这非常有效。但是,如果您返回脚本,它将自动再次记录您的过程,因为Office365不会强制重新授权 我们的脚本目前允许多个用户将其帐户与我们的系统同步,但这只允许一个用户在每个浏览器会话中执行此操作 require_once('./src/Office365_Client.php'); $clien

因此,我最近将新的Office365 Rest API与PHP集成,并使其与Contacts 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");
    }
理想情况下,其工作原理如下:


用户访问我们的网站->我们生成身份验证URL,用户被重定向到Office365的登录页面(如果之前未进行身份验证,他们将进行身份验证)->完成后,这将返回到我们的选择屏幕,其代码已准备好创建访问令牌。如果用户希望添加不同的Office365帐户,他们应该能够在不使用其他浏览器的情况下再次执行该过程。

您尝试过注销吗?注销URI为。所以你会想做一些类似的事情

https://login.windows.net/common/oauth2/logout?post_logout_redirect_uri=<some page in your app>
https://login.windows.net/common/oauth2/logout?post_logout_redirect_uri=

prompt=login
添加到授权请求中,以便:

header("location: $forward_url" . "&prompt=login");

你找到解决这个问题的合适方法了吗?它有效!很遗憾,这里的文档中没有提到这个参数