当前位置: 首页 > 知识库问答 >
问题:

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

胡高寒
2023-03-14

因此,我最近将新的Office e365 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");
    }

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

用户访问我们的网站-

共有2个答案

濮丁雷
2023-03-14

你试过注销吗?注销URIhttps://login.windows.net/common/oauth2/logout.所以你会想做这样的事情

https://login.windows.net/common/oauth2/logout?post_logout_redirect_uri=<some page in your app>
邵沛
2023-03-14

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

header("location: $forward_url" . "&prompt=login");
 类似资料:
  • 问题内容: 我正在使用logback / slf4j处理我的应用程序中的日志记录。在我开始使用EJB之前,一切都运行良好。将无状态EJB添加到应用程序后,记录器开始忽略我的logback.xml,并停止使用附加程序。我切换到编程式记录器配置以查看出了什么问题,现在当我尝试在EJB中使用记录器时遇到以下错误: 源于这一行: 是否需要任何特殊的配置才能使Logback与EJB一起使用?如果有问题,我将

  • 我有一个ASP。net core 3.1 MVC应用程序,使用OpenID连接Identity Server 4。我正在使用IdentityModel自动刷新应用程序中的访问令牌。配置如下所示: 我有一个控制器,它将从使用该标识服务器保护的下游应用编程接口中提取数据。我的MVC客户端请求范围api1和offline_access来获取刷新令牌。这些令牌存储在cookie中,因为服务上设置了。 一切

  • 我一直在研究Spring Boot Oauth2教程,但似乎找不到一个非常关键的元素: 我可以通过添加以下内容来让它工作: ...但在前进之前,我真的想知道这是否是教程或我的实现或其他问题。Oauth安全系统决定什么是“登录”页面的机制是什么?

  • 问题内容: 我在程序开始时,根据数据库中的某些内容,以编程方式在JScrollPane中添加了许多组件(JPanels,JLabels等)。 似乎对于GUI(?)而言,此过程太快了,因此JScrollPane并不总是正确更新,即,即使内部JPanel大于可见区域,滚动条也不可见。 调整窗口大小(JFrame)可以解决此问题,因为我认为Java在调整组件大小时会重新打印它们。 作为测试,我添加了一个

  • 客户端SPA应用程序,我要使用的登录页面驻留于此 OAuth身份验证服务器(使用Spring Security OAuth/) 一个或多个OAuth资源服务器 我寻求的OAuth流如下所示: 用户尝试访问SPA中的安全路由 客户端将用户重定向到OAuth服务器的授权页(参数包括状态、随机数等) OAuth服务器未检测到令牌并重定向到SPA的登录页 用户登录;post到登录url(登录url位于OA

  • 我正在尝试使用Oauth2代理作为使用Google身份验证的网站的网关。出现Oauth登录页面,您可以单击“登录”,这将带您进入Google登录页面,但登录后它会直接重定向回Oauth登录页面。我怀疑这与cookie有关,但我不知道我做错了什么。 NGINX配置: oauth 2-代理配置: Oauth2-proxy 启动命令: 任何想法将不胜感激!