【问题标题】:Developing Logout functionality for application accessing ASANA为访问 ASANA 的应用程序开发注销功能
【发布时间】:2015-05-11 15:46:43
【问题描述】:

我正在开发一个使用 PHP、MySQL 的工具,它可以访问用户的 ASANA 配置文件。使用带有 ASANA API 的 OAuth 2.0 对用户进行身份验证。

应用程序运行良好,唯一的问题是注销功能。我可以从我的应用程序中注销,但我无法删除 ASANA 设置的 cookie。 (个人电脑没问题,但在公共电脑的情况下可能会产生问题。)

当用户退出我的应用程序时,如何从 ASANA 中退出?我尝试了其他帖子并看到了一些针对 Google API 和 Facebook API 的解决方案,其中成员建议使用 API 的注销链接。

我找不到任何适合 ASANA 的东西。直接注销链接:https://app.asana.com/-/logout 工作正常,但我无法将其重定向到我的应用程序。 任何建议都会有很大帮助。

当前注销功能的代码:

<?PHP
include_once '../dbAPI/dbconnect.php';
session_start();    
mysqli_close($conn);
session_destroy();
header("Location: https://app.asana.com/-/logout")
?>

谢谢;

【问题讨论】:

    标签: php oauth logout asana


    【解决方案1】:

    目前没有使这个过程非常顺利的功能。这主要是因为这在许多可能的情况下究竟是如何工作的并不是一个简单的答案。

    我鼓励您在 OAuth 上read this post 以及它与这个确切问题的关系,以便更好地理解该方法。简而言之,您可能不想在用户注销您的应用程序时将其从 Asana 中注销,但我会让您自己决定 :)

    您可以尝试在用户退出您的应用程序时显示警告消息,而不是让用户退出:

    “警告:记得退出Asana App

    如果你真的想要一个让用户退出 Asana 并重定向回你自己网站的按钮,请尝试实现这样的 iframe

        <html>
        <script>
            function logout() {
                var i = document.createElement('iframe');
                i.style.display = 'none';
                i.onload = function () {
                    i.parentNode.removeChild(i);
                };
                i.src = 'https://app.asana.com/-/logout';
                document.body.appendChild(i);
            }
        </script>
        <a href="/logout" onclick="logout();">Logout</a>
        </html>
    

    【讨论】:

    • 感谢您的解决方案!
    • 不客气。如果答案准确地解决了问题,请将答案标记为正确。
    【解决方案2】:

    我最近发现了 Bridge24,这是 Asana 的一个很好的扩展 https://bridge24.com/

    如果您不在 Asana 中,您将无法从 Asana 注销……我认为这很正常。该扩展程序没有注销过程。您只能从自己的应用中退出。

    【讨论】:

    • 感谢您的意见。我已经完成了我的应用程序。我唯一担心的是注销功能。我可以通过使用我提到的 asana 注销链接来完成这两项操作,但是我无法将用户重定向到我的登录页面。
    猜你喜欢
    • 2018-05-12
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 2013-01-22
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    相关资源
    最近更新 更多